《代码整洁之道》阅读笔记(二)

第四章讲的是注释,有一句话我很喜欢,说的是:"Comments Do Not Make Up for Bad Code."(注释不是对劣质代码的补救)。事实上好的代码即便没有注释也拥有良好的可读性,但恰当的注释会让代码变得更可读、可维护性更高。

 第五章讲的是代码风格。现代IDE(集成开发环境)几乎都有代码格式化代码的功能,你只需要设置好你使用的代码风格就可以了,其实不只是IDE,很多高级的文本编辑工具也能够按照指定的风格格式化你的代码。用什么样的代码风格不是关键,关键是整个项目组的成员应当使用相同的代码风格,让多个人编写的代码看起来像一个人书写的。我个在代码中使用的括号风格是1TBS(One True Bracing Style,也叫做K&R风格,这种风格是Kernighan和Ritchie两位老师在"The C Programming Language"一书中使用的代码风格),当然Allman风格(FreeBSD系统的作者之一使用的代码风格)也是很好的选择。
第六章讨论的是对象和数据结构,读完之后的感觉是虽然我们天天都嚷着吼着要面向对象编程,但是很多时候我们都使用了类的退化结构,包括我们开发时经常使用的失血模型和贫血模型(事务脚本模式)都和面向对象的设计理念相违背。我得承认在读这一章的时候我可能没有抓住作者的观点。

第七章对错误处理(异常)的讲解非常精彩的,整洁的代码中对错误的处理应当是被分离的关注点(不要跟正常的业务逻辑混杂在一起),而面向对象中的异常机制就是一种在不打乱原有业务逻辑的前提下处理掉程序在运行时发生的不正常状况的手段。这章有两个观点我特别欣赏,一是"Use Unchecked Exceptions"(非受检异常允许你在适当的地方处理异常,而适当的地方就是异常影响代码执行逻辑的地方,不管做哪种类型的应用,都应该尽可能向用户隐藏异常的发生,除非发生了不可挽救的状况,这才是符合最小惊讶原则的设计);二是"Don’t Return Null"(如果一个方法在出状况的时候返回null,那么调用者都要通过频繁的检查返回值来判定是否出错,一旦忘了这件事情就有可能出错,既然null是一种异常状况,那么用抛出异常的方式来代替返回null明显是更好的做法)。

posted @ 2021-05-12 19:41  兜转转  阅读(38)  评论(0编辑  收藏  举报