编程界的 51 条名言佳句
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
除非明确地使其沉默,错误永远不应该默默地溜走。
面对不明确的定义,拒绝猜测的诱惑。
做比不做好,但立马去做有时还不如不做。
如果实现很难说明,那它是个坏想法。
如果实现容易解释,那它有可能是个好想法。
命名空间是个绝妙的想法,让我们多多地使用它们吧!
世界上只有两类编程语言:人们都抱怨的语言和从来没有人使用的语言。
简单是可靠的前提条件。
用代码行数来衡量编程的进度,就如同用航空器零件的重量来衡量航空飞机的制造进度一样。
好的程序员这样一类人,这类人在横穿一条单行道前都要先看一下路两边。
修复 bug 很容易,但是定位 bug 却很困难。
足够多的眼睛,就可让所有问题浮现。
好的代码自己本身就是最好的文档。当你打算加注释的时候,问问自己‘我如何才能把我的代码改善到不需增加注释?’重构自己的代码,然后使文档让其更清楚。
在每个编写精良的大程序里面都是一个编写精良的小程序。
Rethinking Best Practices.
开始的 90% 的代码用了 90% 的开发时间,而剩下的最后的 10% 的代码会需要另外 90% 的开发时间。
世界上有两个设计软件的方法,一种方法是设计的尽量简单,以至于明显的没有什么缺陷,另外一种方式是使他尽量的复杂,以至于其缺陷不那么明显。
Don’t Repeat Yourself (DRY)
Keep It Simple, Stupid (KISS)
Program to an interface, not an implementation
You Ain’t Gonna Need It (YAGNI)
Law of Demeter – 迪米特法则
面向对象的 S.O.L.I.D 原则
Single Responsibility Principle (SRP) – 职责单一原则:一个类,只做一件事,并把这件事做好,其只有一个引起它变化的原因。
Open/Closed Principle (OCP) – 开闭原则:模块是可扩展的,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。
愚者困惑,智者提问。
代码胜于雄辩。——林纳斯•托瓦兹
每名程序员都是作家。
我拒绝做计算机能够胜任的事情。
拙劣的程序员担心代码。好的程序员担心数据结构及它们的关系。——林纳斯•托瓦兹
程序有问题时不要担心。如果所有东西都没问题,你就失业了。
注释代码很像清洁你的厕所——你不想干,但如果你做了,这绝对会给你和你的客人带来更愉悦的体验。
Knowledge is power. – Francis Bacon
Make it work, make it right, make it fast. – Kent Beck
任何一个傻瓜都会写能够让机器理解的代码,只有好的程序员才能写出人类可以理解的代码。——Martin Fowler
这不是一个 bug,这只是一个未列出来的特性。——匿名
作为一个程序员,郁闷的事情是,面对一个代码块,却不敢去修改。更糟糕的是,这个代码块还是自己写的。—— Peyton Jones
优秀的判断力来自经验,但经验来自于错误的判断。——Fred Brooks
软件工程的目标是控制复杂度,而不是增加复杂性。——Dr. Pamela Zave
计算机科学中的所有问题都可以通过另一种间接的方式来解决"。-- David Wheeler;但通常会产生另一个问题 -- David Wheeler
简单是可靠性的先决条件。-- Edsger Dijkstra
如果我们希望计算代码行,则不应将它们视为‘产生的行’,而是看作‘花费的行’。-- Edsger Dijkstra
不要重复自己。每一项知识必须有一个单一的,明确的,权威的系统中的表示形式。 — Andy Hunt and Dave Thomas
代码永远不会说谎;代码注释有时会。 - Ron Jeffries