CHECKLIST: Self-Documenting Code
类
你的`类接口`体现出某种一致的抽象吗?
你的`类名`有意义吗,能表明其中心意图吗?
你的`类接口`对于如何使用该类显而易见吗?
你的`类接口`能抽象到不需考虑其实现过程吗?能把类看成是黑盒吗?
子程序
你的每个`子程序名`都能准确地指示该`子程序`确切干些什么吗?
你的各`子程序`的任务明确吗?
若各`子程序`中自成一体后更有用,你都将其各自独立出来了吗?
每个`子程序`的接口都清晰明了吗?
数据名
`类型名`描述有助于说明数据声明吗?
你的`变量名`有意义吗?
`变量`只用在其名字所代表意义的场合吗?
你的`循环变量名`能给出更多信息,而不是i、j、k之类的吗?
你用了名字有意义的枚举类型,而非临时拼凑的标识或者`布尔变量`吗?
用`具名常量`代替神秘数值或者字符串了吗?
你的命名规范能区分`类型名`、枚举类型、`具名常量`、`局部变量`、`类变量`以及`全局变量`吗?
数据组织
你根据编程清晣的需要,使用了额外`变量`来提高清晰度吗?
你对某`变量`的引用集中吗?
`数据类型`简化到了`最低`复杂度吗?
你是通过抽象访问`子程序`(`抽象数据类型`)来访问复杂数据吗?
控制
代码中的正常执行路径很清晰吗?
相关语句放在一起了吗?
网友评论