I 基础级
-
格式
-
横向格式
-
纵向格式
-
-
注释
-
好的注释
-
不好的注释
-
-
物理设计
-
头文件编译自满足
-
文件设计职责单一
-
仅包含需要的文件
-
仅公开用户需要的接口
-
II 进阶级
-
命名
-
关注点
-
风格统一的命名规范
-
避免在命名中使用编码
-
名称区分问题域与实现域
-
-
测试
-
风格统一的测试场景描述
-
每个测试用例测试一个场景
-
一组测试场景封装为一个测试套
-
尝试使用DSL表达测试场景
-
-
对象和数据结构
-
区分数据结构与对象的使用场景
-
避免在对象中使用getter & setter方法
-
避免在对象中暴露成员变量
-
避免在DTO数据结构中添加行为
-
III 高阶级
-
函数
-
每个函数只做一件事
-
函数内语句同一抽象层次
-
尽量避免三个以上的函数参数
-
区分查询函数与指令函数
-
消除重复的函数
-
-
类
-
设计职责单一的类
-
避免方法过多的接口
-
避免方法过多的类(上帝类)
-
避免过深的继承层次
-
-
系统
-
合理的对系统进行分层
-
定义清晰的模块边界及职责
-
分离构造与使用
-
考虑系统性能
-
Clean Code Model 代码示例参考《Clean Code Style-基础篇》