1 很好的理解一条原理,对它形成一个看法
2 为了将来的方便 重用代码
3 像用户一样设计并遵循你的接口
4 将数据域声明为受保护类型
5 测试代码中的断言
6 保持接口的一致性会使得数据结构更加好用
7 对称性是很有用的原理
8 对象的任何一个公共方法都应该使得对象处于一个一致的状态
9 对非对称性提出质疑
10 理解所有数据结构的复杂度
11 尽可能的使用最通用的类型来声明重载方法的参数
12 通过将数值赋给一个临时变量,来避免对同一个对象进行多次强制转换
13 以不同的角度来考虑代码
14 不要在接口中显示出对应引用
15 编写的方法尽可能通用
16 对一个自然接口只进行符合自然规律的扩展
17 寻求摩擦较小的数据结构
18 将与对象无关的方法声明为静态
19 为所实现的对象提供一个散列方法
20 相等的对象应该返回相同的散列码
21 和不完美战斗到底