程序员一句话经典语录内容,豆豆语录网这里有不少,而这一篇程序员一句话经典语录的内容是我们豆豆语录网经过多次整理,最终挑选出来的程序员一句话经典语录内容,方便您的阅读与学习,希望对您有用。
程序员一句话经典语录
程序员一句话经典语句
《More Programming Pearl》和《Hints for Computer System Design》中的名句大赏《More Programming Pearl》一、编码如果还没想清楚,就用蛮力算法。——Ken Thompson不要使用反正弦和反余弦函数——你总能用优美的恒等式,或者是计算向量点积来更好地解决问题。—— Jim Conyngham在存储日期中的年份的时候,请使用四位数字。—— David Martin避免使用不对称结构。—— Andy Huber代码写的越急,程序跑得越慢。—— Roy Carlson你用英语都写不出来的东西就别指望用代码写了。—— Peter Halpern如果代码和注释不一致,那很可能两者都错了。—— Norm Schryer如果你发现特殊情况太多,那你肯定是用错方法了。—— Carig Zerouni先把数据结构搞清楚,程序的其余部分自现。—— David Jones
下面是英文原文
When in doubt, use brute force. ——Ken Thompson Avoid arc-sine and arc-cosine functions - you can usually do better by applying a trig identity or computing a vector dot-product. —— Jim ConynghamAllocate four digits for the year part of a date: a new millennium is commg.—— David MartinAvoid asymmetry.—— Andy HuberThe sooner you start to code, the longer the program will take. —— Roy CarlsonIf you can't write it down in English, you can't code it. —— Peter HalpernIf the code and the comments disagree, then both are probably wrong. —— Norm SchryerIf you have too many special cases, you are doing it wrong. —— Craig ZerouniGet your data structures correct first, and the rest of the program will write itself. —— David Jones二、用户界面
尽可能让用户界面风格保持一致和可预测。—— 匿名用户计算机生成的输入通常会让一个原本设计接受手工输入的程序不堪重负。—— Dennis Ritchie手工填写的表单里有20%都包含坏数据。—— Vic Vyssotsky80%的表单会要你回答没有必要的问题。—— Mike Garey不要让用户提供那些系统已经知道的信息。—— Rick Lemons所有数据集的80%中,有95%的信息量都可以用清晰的图表示。—— William Cleveland下面是英文原文
[The Principle of Least Astonishment] Make a user interface as consistent and as predictable as possible. —— Contributed by several readersA program designed .for inputs from people is usually stressed beyond the breaking point by computer-generated inputs. —— Dennis RitchieTwenty percent of all input forms filled out by people contain bad data. —— Vic VyssotskyEighty percent of all input forms ask questions they have no business asking. —— Mike GareyDon't make the user provide information that the system already knows. —— Rick LemonsFor 80% of all data sets, 95% of the information can be seen in a good graph. —— William S. Cleveland三、调试
在我所有的程序错误中,80%是语法错误,剩下20%里,80%是简单的逻辑错误,在剩下4%里,80%是指针错误,只有余下的0.8%才是困难的问题。—— Marc Donner在系统测试阶段找出并修正错误,要比开发者自己完成这一工作多付出2倍的努力。而当系统已经交付使用之后找出并修正错误,要比系统测试阶段多付出9倍的努力。因此,请坚持让开发者进行单元测试吧。—— Larry Bernstain不要站着调试程序,那会使得你的耐心减半,你需要的是全神贯注。—— Dave Storer别在注释里陷得太深——注释很可能会误导你,你要调试的只是代码。—— Dave Storer测试只能证明程序有错误,而不能证明程序没有错误。—— Edsger Dijkstra新系统的每一个新用户都可能发现一类新的错误。—— Brian Kernighan东西没坏,就别乱修。 —— Ronald Reagan如果我们没能力修好它,我们就会告诉你它根本没坏。—— Walt Weir修正程序错误的第一步是要重现这个错误。—— Tom Duff下面是英文原文
Of all my programming bugs, 80% are syntax errors. Of the remaining 20%, 80% are trivial logical errors. Of the remaining 4%, 80% are pointer errors. And the remaining 0.8% are hard. —— Marc DonnerIt takes three times the effort to find and fix bugs in system test than when done by the developer. It takes ten times the effort to find and fix bugs in the field than when done in system test. Therefore, insist on unit tests by the developer. —— Larry BernsteinDon't debug standing up. It cuts your patience m half, and you need all you can muster. —— Dave StorerDon't get suckered in by the comments - they can be terribly misleading. Debug only the code. —— Dave StorerTesting can show the presence of bugs, but not their absence. —— Edsger W. DijkstraEach new user of a new system uncovers a new class of bugs. —— Brian KernighanIf it ain't broke, don't fix it. —— Ronald Reagan[The Maintainer's Motto] If we can't fix it, it ain't broke. —— Lieutenant Colonel Walt WeirThe first step in fixing a broken program is getting it to fail repeatably. —— Tom Duff四、性能
程序优化第一法则:不要优化。程序优化第二法则:还是不要优化。—— Michael Jackson对于那些快速算法,我们总是可以拿一些速度差不多但是更容易理解的算法来替代它们。—— Douglas Jones在一些机器上,间接寻址比基址寻址要慢,所以请把结构体或者记录中最常用的成员放在最前面。—— Mike Morton在一个非IO密集型程序中,超过一半的运行时间是花在不足4%的代码上的。—— Don Knuth在优化一个程序之前,请先用性能监视工具找到程序的“热点”。—— Mike Morton当你为了加速,把一页代码变成几条简单的指令时,请不要忘了增加注释,以使源码的行数保持为一个常量。—— Mike Morton如果程序员自己模拟实现了一个构造比编译器本身实现的那个构造还要快,那编译器的作者也太失败了。—— Guy Steele要加速一个IO密集型程序,请首先考虑所有的IO,消除那些不必要的或冗余的IO,并使余下的部分尽可能地块。—— David Martin最快的IO就是不IO。—— Nils-Peter Nelson那些最便宜、最快而且可靠性最高的计算机组件压根就不存在。—— Gordon Bell把一个本来就错了的程序变得更糟糕绝不是你的错。—— Bill McKeemanLisp程序员知道所有东西的值,却不知道那些东西的计算成本。—— Alan Perlis下面是英文原文
[The First Rule of Program Optimization] Don't do it. [The Second Rule of Program Optimization - For experts only.] Don't do it yet. —— Michael JacksonThe fastest algorithm can frequently be replaced by one that is almost as fast and much easier to understand. —— Douglas W. JonesOn some machines indirection is slower with displacement, so the most-used member of a structure or a record should be first. —— Mike MortonIn non-I/O-bound programs, less than four per cent of a program generally accounts for more than half of its running time. —— Don KnuthBefore optimizing, use a profiler to locate the "hot spots" of the program. —— Mike Morton[Conservation of Code Size] When you turn an ordinary page of code into just a handful of instructions for speed, expand the comments to keep the number of source lines constant. —— Mike MortonIf the programmer can simulate a construct faster than the compiler can implement the construct itself! then the compiler writer has blown it badly. —— Guy L. Steele, Jr.To speed up an I/O-bound program, begin by accounting for all I/O. Eliminate that which is unnecessary or redundant, and make the remaining as fast as possible. —— David MartinThe fastest IO is no IO. —— Nils-Peter NelsonThe cheapest, fastest and most reliable components of a computer system are those that aren't there. —— Gordon Bell[Compiler Writer's Motto - Optimization Pass] Making a wrong program worse is no sin. —— Bill McKeemanLisp programmers know the value of everything but the cost of nothing. —— Alan Perlis五、文档
如果一句话反过来就必然不成立,那就根本没必要把这句话放进文档。—— Bob Martin当你试图解释一条命令、一个语言特性或者是一种硬件的时候,请首先说明它要解决什么问题。 —— David Martin一个 { 规格说明、设计、过程、测试计划 } 如果不能在一页A4纸上写明白,那么这个东西别人就没法理解。—— Mark Ardis纸上的工作没结束,整个工作也就还没结束。—— 匿名下面是英文原文
[The Test of Negation] Don't include a sentence in documentation if its negation is obviously false. —— Bob MartinWhen explaining a command, or language feature, or hardware widget, first describe the problem it is designed to solve. —— David Martin[One Page Principle] A {specification, design, procedure, test plan} that will not fit on one page of 8.5-by-11 inch paper cannot be understood. —— Mark ArdisThe job's not over until the paperwork's done. —— Anon六、软件管理系统的结构反映出构建该系统的组织的结构。—— Richard Fairley别坚持做没用的事情。—— 匿名前90%的代码占用了90%的预定开发时间,余下的10%代码又花费了90%的预定开发时间。——Tom Cargill只有不到10%的代码用于完成这个程序表面上的目的,余下的都在处理输入输出、数据验证、数据结构维护等家务活。—— Mary Shaw正确的判断来源于经验,然而经验来源于错误的判断。—— Fred Brooks如果有人基本上做出了你想要的东西,你就没必要自己写一个新程序,就算你非写不可,也请尽可能地利用现有的代码。—— Richard Hill代码能借用就借用。—— Tom Duff与客户保持良好的关系可以使生产率加倍。—— Larry Bernstain把一个现有成熟程序转移到一种新语言或者新平台,只需要原来开发的十分之一的时间、人力、成本。—— Douglas Jones那些用手做就很快了的事情,就不要用计算机去做了。—— Richard Hill那些能用计算机迅速解决的问题,就别用手做了。—— Tom Duff我想写的不只是程序,而且是会写程序的程序。—— Dick Sites计划好抛弃一个原型,这是迟早的事情。—— Fred Brooks如果开始就打算抛弃一个原型,那恐怕你得抛弃两个。—— Craig Zerouni原型方法可以将系统开发的工作量减少40%。—— Larry Bernstain拼命干活无法取代理解。—— H William下面是英文原文
The structure of a system reflects the structure of the organization that built it. —— Richard E. FairleyDon't keep doing what doesn't work. —— Anon[Rule of Credibility] The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time. —— Tom CargillLess than 10% of the code has to do with the ostensible purpose of the system; the rest deals with input-output, data validation, data structure maintenance, and other housekeeping. —— Mary ShawGood judgement comes from experience, and experience comes from bad judgement. —— Fred BrooksDon't write a new program if one already does moie or less what you want. And if you must write a program, use existing code to do as much of the work as possible. —— Richard HillWhenever possible, steal code. —— Tom DuffGood customer relations double productivity. —— Larry BernsteinTranslating a working program to a new language or system takes ten percent of the original developmefit time or manpower or cost. —— Douglas W. JonesDon't use the computer to do things that can be done efficiently by hand. —— Richard HillDon't use hands to do things that can be done efficiently by the computer. —— Tom DuffI'd rather write programs to write programs than write programs. —— Dick Sites[Brooks's Law of Prototypes] Plan to throw one away, you will anyhow. —— Fred BrooksIf you plan to throw one away, you will throw away two. —— Craig ZerouniPrototyping cuts the work to produce a system by 40%. —— Larry BernsteinFurious activity is no substitute for understanding. —— H. H. WilliamsAlways do the hard part first. If the hard part is impossible, why waste time on the easy part? Once the hard part is done, you're home free.Always do the easy part first. What you think at first is the easy part often turns out to be the hard part. Once the easy part is done, you can concentrate all your efforts on the hard part.Plagiarism is the sincerest form of flattery. 抄袭是最真诚的恭维。——《编程珠玑2》第六章
《Hints for Computer System Design》Butler W. Lampson, Digital Equipment CorporationP.S. 文章太长了,估计再写18页,更新了也估计没人看,就留个烂尾工程吧。看到这里以后有需要催更的同志就留言催一下,每催更一次我更新一条吧 T T (2019年11月5日)Separate normal and worst caseDo one thing wellDon't generalizeGet it rightDon't hide powerUse procedure argumentsLeave it to the clientKeep basic interfaces stableKeep a place to standPlan to throw one awayKeep secretsUse a good idea again
Divide and conquer
Safety first
Shed load
End-to-end
Make it fast
Split resources
Static analysis
Dynamic translation
Cache answers
Use hints
Use brute force
Compute in background
Batch processing
Log updates
Make actions atomic
Make actions atomic
Use hints