面向可理解的软件构造
- Metrics for Understandability→display,priint
Metrics
→所有标识符的平均长度
→独特命名的比例
→代码复杂度,代码行数
→注释的密度(MCOMM% = MCOMM / LOC)
-
Documenting in source code
1) specifications:pre-condition and post-condition //在方法前使用
2) rep invariants
3) Abstract Function
4) Safety from rep exposure
5) Testing Strategy //在测试类的顶部记录
6) How to ensure thread-safe
(2,3,4,6在各种成员变量后,在构造函数前使用\) -
Pseudo-code before programming 书写伪代码
六种伪代码的基本操作:
注意伪代码的相关书写规范!此部分内容在算法设计于分析课程中接触较多 -
Coding Conventions
-
import包的顺序:
1)standard packages(java.io,java.util…)
2)third party packages
3)your own packages -
包的原则
1)REP 复用/发布等价原则:复用的力度等于发布的力度
2)CCP 共同封闭原则:一个包中的类对同一种变化是封闭的
3)CRP 共同复用原则:一个包中的类应该被一同复用 -
包的连接原则
1)ADP 无圈依赖原则
2)SDP 稳定依赖原则:包中的关系应指向稳定的方向
3)SAP 稳定抽象原则:一个稳定的包应该尽可能地抽象 -
类中的各部分顺序