据说是来自于1971年的《程序开发心理学(The Psychology of Computer Programming)》,看着挺有道理:
- 理解和接受自己会犯错误。关键是要尽早发现,在错误进入到最终产品前发现它们。幸运的是,除了我们少数几个在喷气推进实验所开发火箭导航系统的人外,在软件行业中犯错误通常不会导致灾难性事故。我们可以,也应该从错误中吸取教训,微笑,并继续前进。
- 你不是你的代码。记住代码审查的全部目的就是去发现问题,相信问题会被我们发现。当有问题疏漏时不要自责。
- 不管你对“空手道”有多了解,一定会有人知道的更多。如果你去问,这样的人可以告诉你一些新的招数。从别人那里寻找和接受新的知识,特别是那些你认为不需要的知识。
- 不要在没有讨论的情况下重写代码。在“调整代码”和“重写代码”之间有一条很细致的界限,你应该在代码审查的制度下做风格上的调整,不要独断专行。
- 对那些不如你的人要尊敬,礼遇,有耐心。经常跟开发人员打交道的非技术人士通常持有这样的观点:程序员凭借一技之长狂放不羁。不要让你的发怒和缺乏耐性让他们心中的这种形象加深。
- 这世界上唯一不变的就是变化。开放思考,面带微笑的接受它。把需求上、平台或工具里的每个改变都视作一种新的挑战,而不是把它们当作大麻烦来抵制。
- 真正的权威来自知识,而不是职位。知识造就权威,权威带来尊敬——所以,如果你想在一个无私的环境中获得尊敬,去培养自己的知识吧。
- 为信仰奋斗,但我文雅的接受失败。要理解,有时候你的想法会被拒绝。即使你是对的,你也不要报复或说“I told you so.”千万不要让你心爱的被抛弃的想法变成殉道者或抱怨素材。
- 不要成为“角落里的程序员。”不要成为隐藏在黑暗办公室里、只因为口渴才出现的人。藏在角落的里程序员短视、与世隔绝、不受控制。这样的人在公开的、合作的工作环境中发不出声音。参与到交流中,成为你的办公室团体中的一员。
- 批评代码而不是人——对编码人友善,但不要对代码友善。尽可能的让你的批评具有积极性,以改进代码为目标。批评要联系本地标准,编程规格文档和提高后的性能等。
一些有趣的编程名言
- 生命太短暂,不要去做一些根本没有人想要的东西。——Ash Maurya,Running Lean 作者
- 如果你交给某人一个程序,你将折磨他一整天;如果你教某人如何编写程序,你将折磨他一辈子。——David Leinweber
- 软件设计有两种方式:一种方式是,使软件过于简单,明显没有缺陷;另一种方式是,使软件过于复杂,没有明显的缺陷。——C.A.R. Hoare
- 其实,我尝试着使Ruby更自然,而不是简单。Ruby看起来很简单,但内部是非常复杂的,就像我们的身体一样。——松本行弘,Ruby之父
- 大部分情况下,构建程序的过程本质上是对规范调试的过程。——Fred Brooks,《人月神话》作者
- 软件开发往往是这样:最开始的90%代码占用了开始的90%的开发时间;剩下10%代码同样需要90%的开发时间。——Tom Cargill
- 当你试图解决一个你不理解的问题时,复杂化就产成了。——Andy Boothe
- 用几个小时来制定计划,可以节省几周的编程时间。—— 匿名
- 控制复杂性是计算机编程的本质。—— Brian Kernighan
- 计算机科学领域的所有问题都可以通过其他方式间接解决。——David Wheeler
- 编程是两队人马在竞争:软件工程师努力设计出最大最好的连白痴都会使用的程序;而宇宙在拼命制造最大最好的白痴。到目前为止,宇宙是胜利者。—— Rick Cook
- 调试一个初次见到的代码比重写代码要困难两倍。因此,按照定义,如果你写代码非常巧妙,那么没有人足够聪明来调试它。—— Brian W. Kernighan
- 我不是一个伟大的程序员,我只是一个具有良好习惯的优秀程序员。― Kent Beck
- 你们中大多数人都熟悉程序员的美德,有三种:那就是懒惰、急躁和傲慢。– Larry Wall,Perl語言发明人
- 任何一个傻瓜都会写能够让机器理解的代码,只有好的程序员才能写出人类可以理解的代码。——Martin Fowler
- 靠代码行数来衡量开发进度,就像是凭重量来衡量飞机制造的进度。——比尔•盖茨
- 这不是一个bug,这只是一个未列出来的特性。——匿名
- 作为一个程序员,郁闷的事情是,面对一个代码块,却不敢去修改。更糟糕的是,这个代码块还是自己写的。—— Peyton Jones
- 它在我的机器上可以很好运行!——大部分程序员
- 能说算不上什么,有本事就把你的代码给我看看。——Linus Torvalds,Linux之父
- 我认为对象就像是生物学里的细胞,或者网络中的一台计算机,只能够通过消息来通信——Alan Kay,Smalltalk的发明人,面向对象之父
- 当你选择了一种语言,意味着你还选择了一组技术、一个社区。——Joshua Bloch
- 质量、速度、廉价,选择其中两个。——匿名
- 过早的优化是罪恶之源。——Donald Knuth
- 没有什么代码的执行速度比空代码更快。——Merb核心原则
- 如果你是房间里最聪明的人,那么你走错房间了。——匿名
- 如果只需更改一个单一的代码行,你的部门需要花费多长时间?——Mary Poppendieck
- 九个人不能让一个孩子在一个月内出生。——Fred Brooks,《人月神话》作者
- 好代码本身就是最好的文档。当你需要添加一个注释时,你应该考虑如何修改代码才能不需要注释。——Steve McConnell,Code Complete 作者
- 一个人在教会电脑之前,别说他真正理解这个东西了。——Donald Knuth