您最喜欢编程的什么报价?

每个答案一个报价,请在发布前检查是否重复!

#1 楼


调试的难度是一开始编写代码的两倍。因此,如果您尽可能聪明地编写代码,那么就定义而言,您就不足以调试它。


— Brian W. Kernighan

评论


每当我编写一些聪明的代码时,我都会提醒自己这条规则,并回顾一下它是否可以用一种更简单的方式来做事,以便以后维护或至少添加一些注释。 。

– CodexArcanum
2010-10-12 19:26

一个原本正确的格言的推论:别忘了图表可以增加您的脑力。您可以将“记住大事的结构”换成非易失性纸张。

–蒂姆·威利斯克罗夫特(Tim Williscroft)
2010-10-25在0:49

我喜欢这句话,但其含义是,我们最多应该首先将50%的精力用于编码。

–乔恩·霍普金斯(Jon Hopkins)
2010年11月12日上午9:55

我认为这暗示着,当稍长一些,更明显的方式可以正常工作时,您应该避免程序员使用“聪明”的方式进行操作的冲动。

– Fishtoaster
2010年11月12日在17:48

但是,如果它是“完美”的代码怎么办?没有办法“调试”它。

–玛蒂·乌尔哈克(Mateen Ulhaq)
2010-12-12在4:34



#2 楼


如果两个都被冻结,则按规范行走在水上并开发软件
很容易。



— Edward V Berard

评论


年度行情,我要用这个

–Gortron
2010-12-16在20:24

我讨厌这个从来没有,那么谁在乎呢?

–JP Alioto
2010-12-26 6:52

#3 楼


即使您考虑到霍夫施塔特定律,它也总是比您期望的更长的时间。
霍夫施塔特定律


评论


脑堆栈溢出。

–内森·泰勒(Nathan Taylor)
10-9-2'1:45



@Joe D:我很好奇您如何将递归英语句子改写为一个非递归句子。

–琼·普迪(Jon Purdy)
2010-09-22在4:08

它可能收敛为足够小的“较长”值

–mouviciel
2010-09-22在18:02

+1-我很自豪能与Douglas Hofstadter一起跻身十亿程序员之列。

– Peter Turner
2010-10-11在16:09

@ g.f:将其转换为以后定义源(带破折号)时,不保证开头的介绍(“ A:Blah。”->“ Blah。-A”)。这不会删除部分报价。

–罗杰·佩特
2010-10-11 17:43

#4 楼


总是编码,就像最终将要维护您的代码的人一样。
知道您住在哪里的暴力心理变态者。



—里克·奥斯本

评论


似乎我继续维护我希望知道创作者居住地的代码,但这可能不是我的好事。

– WalterJ89
2010-09-10 7:00

为“杀手级应用”一词带来新的含义。在他被监禁之后,我似乎总是会保留他的密码。

– webbiedave
10-10-12在21:09

@webbiedave您在ReiserFS上工作吗? :)

–尼尔·艾特肯(Neil Aitken)
2010年11月1日在15:08

如果杀手找到工作,公司必须真的恨你。

–玛蒂·乌尔哈克(Mateen Ulhaq)
2010-12-12在4:36



#5 楼


您可以拥有以下项目:


按时完成
按预算完成
正确完成

选择两个。


—未知

评论


zh.wikipedia.org/wiki/Project_triangle

–rwong
2010年9月9日下午12:16

让我想起了类似的三角形,但有女性。 “你可以有一个女朋友:聪明,有魅力,有良好的个性。”

– Maxpm
2010-12-16 4:59

不要忘记例外确实存在,尽管它们很罕见-不要指望它。

–迈尔奇亚(Mircea Chirea)
2010-12-16 18:39

@Maxpm:我听到的版本是“ 4S:聪明,性感,桑德,单身。选择3。”

–梅森·惠勒
2011年1月20日18:27

因此,当时间和预算没有限制时,您将无法正确执行。很高兴知道。

– Antsan
2011年1月20日在20:22

#6 楼


有些人遇到
问题时,会想到“我知道,我会使用
正则表达式。”
现在他们有两个问题。


—杰米·扎温斯基

评论


永恒的经典

–因素神秘主义者
2010-09-08 23:52

有些人在遇到问题时会想到“我知道,我将使用<一些解决问题的实现方式”。现在他们有两个问题。

–卡勒姆·罗杰斯(Callum Rogers)
2010-09-22 18:58

有些人遇到问题时不认为,他们只是在StackOverflow上发布

–马特·艾伦(Matt Ellen)
10-10-11在8:16

有些人不理解正则表达式,而讨厌别人,因为其他人则讨厌。

–Orbling
2010-12-16 17:14

@Yar-我从来没有亲自发现过时的语法,而且密度是一件好事。为什么用更详细的格式表达类似模式的匹配?如果需要对复杂的事物进行清晰说明,则可以将扩展模式与注释一起使用。

–Orbling
2010-12-26在3:59

#7 楼


理论上,理论与实践之间没有区别。但是,在
实践中,有。


— Jan L. A. van de Snepscheut

评论


我还听说过“理论与实践之间的差异在理论上比在实践中要小”。

–罗杰·佩特
2010-09-10 17:02

我听说过罗杰·佩特(Roger Pate)的提法,是奥林·希弗(Olin Shivers)在《 T的历史》中写的。保罗·格雷厄姆(Paul Graham)在这里谈论它:paulgraham.com/thist.html

– Michael H.
2010-10-11 18:45

我要说的是,如果理论不能转化为实践,那么该理论就是不完整的。

–宫阪丽
2010-12-28 at 1:35

#8 楼


您可以在制图工作表上使用橡皮擦,也可以在施工现场的大锤上使用大锤-弗兰克·劳埃德·赖特(Frank Lloyd Wright)


它肯定是适用的。

评论


高度适用的IMO

–约翰·麦金太尔
2010年9月9日于1:06

幸运的是,当大多数软件出现问题时,它不会崩溃并杀死人。

–尼尔·艾特肯(Neil Aitken)
2010-09-29 10:58

除非它炸毁Ariane 5(Flight 501),或者使人们受到致命的高剂量辐射...

–坦率的剪毛
10-10-2在19:58

具有讽刺意味的是,我相信弗兰克·劳埃德·赖特(Frank Lloyd Wright)更为复杂的建筑已经失修了。

– Maxpm
2010-12-16在5:03

@ TomWij,@ Walter,@ Roger:请不要使用您的metatalk弄脏本网站。如果我想听到争吵,请访问meta.stackoverflow.com。在这里,您应该进行这种有趣而永恒的对话。

–丹·罗森斯塔克(Dan Rosenstark)
2010-12-26 at 0:49

#9 楼


今天的编程是软件工程师之间的竞赛,他们努力构建更大,更好的防白痴程序,而Universe则试图产生更大,更好的白痴。到目前为止,宇宙正在胜利。


—里克·库克

#10 楼


用代码行测量编程进度就像按重量测量飞机建造进度。
—比尔·盖茨


评论


-比尔·盖茨(softwarequotes.com/printableshowquotes.aspx?id=579)

– Bill Karwin
2010年9月9日在18:04

在多个级别上都是如此。一颗宝石。

–user1249
10-10-10在19:21

关键的区别当然是,飞机的最终重量是已知的,而软件的最终LOC数量是未知的。

–男士
2010-10-28 15:40

那么,为什么大多数Microsoft产品给我这样的感觉,那就是我被脚束缚在努力脱离跑道的飞机上?

–夏皮
2011年1月9日,0:10



#11 楼


计算机科学中有2个难题:缓存失效,命名和1位错误。
-Leon Bambrick(@secretGeek)

(实际上,一切从http://q4td.blogspot.com/search/label/programming看到我正在整理列表。)

评论


我从未见过引文指出事物的命名难度。我突然感到团结。

– CodexArcanum
2010-10-12 19:30

那是三件事。前两个是Phil Karlton的原始报价。 @CodexArcanum。巧妙地命名是窍门。

– StuperUser
2011-1-18在18:19



@StuperUser糟糕!你错过了这个玩笑!

–前
2011年1月20日在17:27

在指出这一点后花了两秒钟来得到它。赫尔普·德尔普。

– StuperUser
2011年1月20日在18:10

#12 楼


九个人一个月内无法生育婴儿。
-弗雷德·布鲁克斯(Fred Brooks),《神话人月》

评论


从技术上讲:一个月内有18个人无法生育婴儿

–狼来了
2010-09-27 19:45

@HereBeWolves或10

– WalterJ89
2010-10-7 16:16

1个男人和8个女人怎么了?听起来对我来说差不多。

–罗杰·佩特
2010-10-10 3:40

如果我们去双胞胎或三胞胎,我们需要的女士会减少。

–user1249
2010-10-21 6:37

虽然第一个孩子将遭受9个月的延迟,但适当的流水线将继续每月提供1个...

–布赖恩·诺伯劳赫(Brian Knoblauch)
2011年1月19日15:42

#13 楼


我们应该忘记效率低下的问题,例如大约97%的时间:过早的优化是万恶之源。然而,我们不应该错过那关键的3%的机会。
— Donald Knuth,“转到语句的结构化编程”,JACM Computing Surveys,第6卷,第4期,1974年12月,第268页,


这摘录自以下两段,它们不仅说明了他得出上述结论的原因,而且还提供了有关如何避免此错误的信息:


但是我们不应该在这3%的临界水平上放弃机会。一个好的程序员不会因这种推理而沾沾自喜,他应该明智地仔细看待关键代码。但只有在识别出该代码之后。对程序的哪些部分真正关键进行先验判断通常是一个错误,因为使用测量工具的程序员的普遍经验是他们的直观猜测会失败。 (…)


评论


@Roger Pate:我怀疑你是对的,大多数人没有意识到报价还有更多。

–斯科特·多曼(Scott Dorman)
2010年9月9日14:01

希望您不要介意我添加了更多内容。我认为这非常重要,也许这会鼓励更多的人阅读全文。 :)

–罗杰·佩特
2010-09-10 17:36

@Roger Pate:一点都不!

–斯科特·多曼(Scott Dorman)
2010-09-11的3:29

+1感谢您的完整报价。我不知道还有更多。

–伊文·普莱斯
2010-09-11 9:10

很好地张贴了整个报价。许多人只知道排序版本,却不知道Knuth的实际含义。

–DasIch
2010-12-26 at 1:15

#14 楼


调试器不会删除错误。它们仅
以慢动作显示它们。


—未知

评论


或者在许多情况下,使它们不再完全显示。

– Graeme Perrow
2010-09-27 14:44

@Graeme这些情况称为Heisenbugs :)

–狼来了
2010-09-27 19:40

#15 楼


前90%的代码占开发时间的前90%。
其余10%的代码占开发时间的另90%



—汤姆·嘉吉

评论


最初是谁说的?

– Paddyslacker
2010年9月6日下午6:45

我想您会发现90%的代码需要90%的时间,而最后10%的代码需要90%的时间。

– FacticiusVir
2010年9月9日,1:14

贝尔实验室的汤姆·卡吉尔(Tom Cargill):en.wikipedia.org/wiki/Ninety-ninety_rule

– Bill Karwin
2010年9月9日在2:46

我知道这一点:20%的伴侣喝80%的啤酒。

– Zzz
2010-10-10 21:41



就个人而言,我想说代码的前90%占了开发时间的前90%。然后,其余90%的代码将占用开发时间的其他90%。

–卡兹龙
2010-10-21 8:58

#16 楼


如果Java具有真正的垃圾回收功能,大多数程序将在执行时删除它们。
— Robert Sewell


评论


有趣,只是让我想到了php。

– WalterJ89
2010-10-7 16:40

@ WalterJ89:不用担心!直到PHP 5.3,PHP才重新引用。

–zneak
2010-10-10 23:17

我喜欢这一个!

– MDV2000
2010-10-13 18:43

@ WalterJ89好吧,我认为没有理由单独提出Java,而不是COBOL,C ++,VB或其他。

– Mark C
2011年3月2日在21:13

#17 楼


计算机科学与天文学无关,而与望远镜无关。


— Edsger Dijkstra

评论


是的,但这应该与编程有关,而不是与计算机科学有关。 [狡猾的笑容]

– Mark C
2010-10-11 17:21



编程只是应用计算机科学中积累的知识。您不需要计算机进行编程,至少没有像大多数人那样熟悉的计算机。

–DasIch
2010-12-26在1:18



我一直觉得编程最烦人的事是我无法将其与计算机分开。

–LoveMeSomeCode
2011-3-29 15:51

#18 楼


如果调试是除去软件错误的过程,那么
编程必须是放入它们的过程。
k — Edsger Dijkstra


评论


这就是为什么我喜欢将我的工作称为调试。

–降低
2010-09-13 2:02

和维护一样进行调试?

–乔D
2010-10-8 22:41

@JoeD不,“监视”。

– Mark C
2010-10-11 17:22



#19 楼


只有两种语言:人们抱怨的语言和没人使用的语言。


— Bjarne Stroustrup

评论


C ++吸吮的不好借口

–hasen
2010年11月12日上午10:17

C#是一个明显的反例。

– Timwi
2010-12-26 12:46

VB属于这两个类别。

–快速乔·史密斯
2011年1月20日12:09

#20 楼


关于布尔值的最好的事情是
,即使您错了,也只是
一点点。 -(匿名)


评论


最糟糕的是您不能再犯错了吗?

–POSIX_ME_HARDER
2011-4-24 23:31



#21 楼


有两次我被问到,
“请巴贝奇先生,如果您将机器的错误数字放入
,会否给出正确的答案?在一个案例中,一个是上议院的成员,而在另一个案例中,是一个下议院的成员提出了这个问题。我无法正确理解
可能引起这种问题的
观念的混乱。
-查尔斯·巴贝奇



可以说是程序员遇到愚蠢的用户问题的第一个记录的案例。

评论


听起来像是T恤的主意! “用户错误:自1832年以来就犯规”。 (日期?)

– Mark C
2010-09-28 12:48

#22 楼


我一直希望我的计算机像电话一样易于使用;我的愿望实现了,因为我不再想知道如何使用电话


-Bjarne Stroustrup

#23 楼


一直等到代码运行。
—沃德·坎宁安


#24 楼


Unicode支持不是“功能”。可以预期的行为。


虽然很具体,但它是我的最爱,因为过时的字符集仍被广泛使用...

评论


现在您只需要争论哪个unicode

–马丁·贝克特(Martin Beckett)
2010-12-26 at 2:18

@马丁:并非如此,因为各种类型之间的转换是无损的。

–比利·奥尼尔(Billy ONeal)
2011-1-27 23:38

奥格的痛苦!为什么我必须与客户争辩说不,我们不能“仅仅”将整个基础架构切换到Latin-1,以使其对他的便利无限增加? “毕竟,周围没有人会使用那些奇怪的特殊字符;难道不会这么难,对吧?”

– Piskvor离开了建筑物
2011年2月8日在9:34

#25 楼


注释代码就像打扫浴室
-不想洗
,但这确实为您和您的客人创造了更多的愉悦体验。



—瑞安·坎贝尔

评论


恩...我一生中遇到的大多数注释都是在注释可以弥补编写得不好的代码的前提下编写的。

–riwalk
2010-10-14 20:53

您可以打扫浴室,但是如果淋浴间只有冷水并且洗手池没有肥皂,那将是一个不愉快的经历。编写易于阅读的代码,而不是编写大量注释来解释问题。

– Keyo
2010-12-10在2:19



我实际上发现评论非常令人愉快。有时,我会在由星号和斜线组成的简洁小盒子中发表重要的评论。再说一次,我真是个怪胎。

– Maxpm
2010-12-16 5:10



我也喜欢写评论,但您不想看到我的洗手间。

– Timwi
2010-12-26 12:48

我曾经在洗手间里,关于如何以及为什么要保持洗手间的清洁,真有漫长的评论。不干净

–宫阪丽
2011年6月19日在22:08

#26 楼


愚人想知道,聪明人问。
—本杰明·迪斯雷利(Benjamin Disraeli)


评论


每回答一个。

–罗杰·佩特
10-10-8在11:27

@TomWij:编辑此文章时,请参阅我的评论,这些引号已被分成单独的答案。

–罗杰·佩特
2010-10-11 16:16

#27 楼


编程就像性:一个错误,你一生都必须支持它。
—迈克尔·辛兹(Michael Sinz)