第一章总结--代码质量
序号 | 支柱 | 实现方式 |
1 | 编写易于理解的代码 |
|
2 | 避免意外 |
|
3 | 编写难以误用的代码 |
|
4 | 编写模块化的代码 |
|
5 | 编写可重用、可推广的代码 |
|
6 | 编写可测试的代码并适当测试 | 第10章和第11章 |
第二章总结--抽象层次
- 方法的设计:避免长方法,在一个方法内完成过多工作可能导致代码难以理解。编写短小精悍、重点集中的方法。
- 类的设计:
- 好的类应该是高内聚的(顺序内聚、功能内聚)
- 关注点分离。一个类应该只关注一件事。在单一类中捆绑的概念越多,类的可读性越差。
- 适当的时候,可以将每个子问题的解决方案拆分为各自单独的类。
- 接口的设计:如果在给定的抽象层次上有不止一个实现,或者认为将在未来增添更多实现,那么定义接口通常是个好主意。再结合工厂模式封装不同的实现类。
第三章总结--其他工程师与代码契约
- 契约式编程:
- 契约中明确无疑的部分:函数和类名、参数类型、返回类型、任何受检异常
- 契约的附属细则:注释和文档、任何非受检异常
- 不要过分依赖附属细则。如果有可能以代码契约中明确无疑的部分代替文档进行澄清,往往是更可取的方式。尽量消除附属细则。
- 可以用【检查】和【断言】避免附属细则。