- 整洁的代码只做好一件事!每个类,每个方法都应该专注于一件事。
- 选个好名字要花时间,但能省下更多的时间。一旦发现有更好的名称,就应该换掉旧的。
- 如果名称需要注释来补充,那就不算是名副其实。
- 方法名应该是动词或动词短语。
- 每个概念对应一个词,避免在多个地方用fetch,retrieve,get等不同单词表示“获得”的意思。
- 函数或者方法应该在做好并只做一件事的基础上尽量短小。
- 别害怕长名称,长而具有描述性的名称,要比短而令人费解的名称好。
- 尽量避免多参数函数或方法。
- 可以把try/catch代码块的主体抽离出来独立成方法,使之与try/catch隔离,更清晰。
- 避免重复代码。
- 不要使用goto语句。
- 注释的恰当用法是弥补我们在用代码表达意图时遭遇的失败,一旦发现自己需要写注释,应该先想想是否能用代码来表达。
- 唯一真正准确的信息来源是代码,而不是注释。
- 不要保留注释掉的代码。
- 变量应该在类或这方法的顶部声明。
- 相关方法应该按照调用顺序(或者相关性)放在一起。
- 隐藏实现并非只是把变量通过getter和setter推向外间,而是暴露抽象接口,以便用户无需了解数据的实现就能操作数据本体。
- 不要返回null值。
- 不要在方法中传入null值。
- 线程应该尽可能的保持独立。
- 尽量减少源文件中额外的编程语言的数量和范围。
- 基类不能依赖于派生类。
- 删除执行不到的代码。
- 方法名称应该表达其行为。
- 否定(非)表达式要比肯定表达式难理解一些。
- 把方法参数按被调用顺序排列。
- 不要继承常量。