- 隔离不同关注点。
- 不要重复,使用适当的抽象层次。
- 工作正常的前提下尽量简单。
- 编写测试,从而知道代码真正工作正常。
- 编写测试,从而可以一点一点地修改程序,同时知道它仍然工作正常。
- 程序会随时间变得更加复杂,对此要有计划。
- 不到需要时不要引入复杂性。
- 学习新的抽象方法,但别在不需要的地方使用它们。
- 为将来需要读你代码的人考虑考虑,他可能是你自己。
- 用视觉化的格式把相关的或需要看成整体的东西组织到一起。
- 有些失败无关紧要,另一些却是灾难性的;要清楚这种区别。
- 代码怎样失败常常比它如何成功更重要;向用户提供查找问题所需的全部信息。
- 但最重要的原则是没有最重要的原则。