如何编写整洁的代码
代码整洁之道
有意义的命名
-
见名知意
-
有意义的区分
-
避免使用编码(字母、数字前后缀区分等)
-
类名、对象名,使用名词或名词短语
-
方法名应是动词或动词短语
-
每个概念对应一个词,一以贯之,方便后续查找
例如表示查找有get/find/obtain/search等,建议使用统一的概念
函数
- 简短,太长可提取为小函数
- 单一职责
- 使用具有描述性的名称
- 输入参数尽可能少
- 使用异常替代返回错误码
- 提取try/catch代码块为新函数,try/catch只囊括存异常代码
- DRY原则,别重复自己
注释
- 注释不能美化糟糕的代码
- 用好的代码命名自解释
- 警示地方须注释
格式
- 垂直格式
- 向报纸学习
- 不同概念代码块,空行隔开
- 紧密联系的代码,应靠近
- 垂直距离
- 局部变量:尽可能靠近其使用位置
- 实体变量:类的顶部声明
- 相关函数:同类中相互调用函数,调用者尽可能放在被调者上面
- 概念相关:相关代码应该放到一起
- 横向格式
- 避免单行过长
- 水平对齐
- 注意缩进层次
异常处理
-
使用异常而非返回码
-
使用未检异常
可检异常的代价,就是违反开闭原则,如果你在方法中抛出可检异常,而catch语句在3个层级之上,则你就得在catch语句和抛异常之间的,,每个方法签名中声明改异常。
这意味着对较低层级的修改,都将波及较高层级的签名。修改好的模块必须重新构建、发布,即使他们自身所关注的任何东西都没改动过
参考文献
《代码整洁之道》