这篇博客总结得很好:
《代码整洁之道》阅读分享_代码整洁之道在线阅读_Alpinist Wang的博客-CSDN博客
整洁代码
-
什么是简单代码?
- 能通过所有测试
- 没有重复代码
- 体现系统中的全部设计理念
- 包括尽量少的实体,比如类、方法、函数等
-
让代码比你来时更干净。不一定要花多少功夫,哪怕只是改好一个变量名,拆分一个有点过长的函数,消除一点点重复代码,清理一个嵌套 if 语句,
有意义的命名
-
变量里别用废话词,如:info、data、varieties
-
使用能读得出来的名称,如:用 generationTimestamp 代替 genymdhms,方便交流
-
使用能搜得到的名称,如:
int WORK_DAYS_PER_WEEK = 5;
代码里只留下体现作者意图的名称 -
宁可对实现类编码 ShapeFactoryImpl,也不对接口编码 IShapeFactory。若依管理系统二者都有用到。
函数
- 越短越好。函数体中不应该有第二层缩进,调用的方法全部封装!
- 每个函数只有一个抽象层次
- 对于 switch 语句的多种情况,引入抽象工厂,switch 只创建多态对象
- 将 try/catch 代码块的主体部分抽离出来,另外形成函数
- 写代码和写别的东西很像。在写论文或文章时,先想起什么就写什么,然后再打磨它。初稿也许粗陋无序,经过反复斟酌推敲,直至达到心目中的样子。不要一开始就按照规则写函数,应该没人做得到。
注释
-
注释总是一种失败。我们总无法找到不用注释就能表达自我的方法,所以总要有注释,这并不值得庆贺。所以,尽管有时也需要注释,我们也该多花心思尽量减少注释量。
-
什么是好注释?
- 法律信息
- 提供信息的注释:解释某个抽象方法的返回值
- 提供意图的注释
- 阐释:解释你不能修改的代码
- 警示
-
什么是坏注释?
- 多余的注释:如果代码已经能体现,就别写废话
- 循规式注释:每个函数和变量都有 JavaDoc 真的很乱
- 注释掉的代码:直接删掉!
格式
- 垂直方向上每个函数占小篇幅,不关联的代码块用空行分隔
- 水平方向尽可能短
对象和数据结构
- 过程式代码(使用数据结构的代码)便于在不改动既有数据结构的前提下添加新函数;面向对象代码便于在不改动既有函数的前提下添加新类。
- 得墨忒耳定律:方法不应调用由任何函数返回的对象的方法。换言之,只跟朋友谈话,不与陌生人谈话。
错误处理
从这一章开始,有点看不懂了。因为代码写得少,很难产生共鸣。
所以,还是先多练习写代码,有一点储备之后再学习……