好的技术书籍应该是这样的:它叙述了基本原理同时具有操作性。原理性内容应该简明扼要地叙述,既突出其重要性,而减少读者在细节的枝蔓中迷失的风险。具体的操作指导内容应该钜细靡遗,最好给出 “best practice” 作为例子。
如果认同这个观点的话,《编写可读代码的艺术》并不算一本优秀的技术书籍(甚至是糟糕的)。花了两章来叙述“起好变量的名字如何重要”和“如何起一个好的变量名字”并不能减少給变量起糟糕明白的概率。同样,讨论如何給代码排版以提高代码的可读性,也不如介绍PEP8(python), go-format(go)等工具来得有效。简而言之,本书用240页的篇幅讲述了一篇博客可以讲完的内容,并且没有给你的实践提出有益的建议。
如果要写出可读的代码,我的建议是:
1. 一个清楚统一的代码风格 styleguide, 如果你懒得自己想,直接用 google 的;
2. 采用工具去检查你的格式,如前所述,go 和 python 都用自己的工具去检查你的代码格式,在这方面,自动化比人更可靠, 对于 python 这种动态预言,格式检查有时候还能帮你检查出一些错误;
3. 严格的 code review , 本书第三部分所叙述的原则基本上都可以通过 code review 实践。如果你有糟糕的设计,你的同事会看出来(毕竟人最擅长的不就是挑别人的错吗?), 有更好的库函数而你不知道,你的同事也会告诉你。
有必要写这么长吗?
《编写可读代码的艺术》热门书评
-
代码为什么需要可读?
19有用 0无用 mftian 2012-10-01
有一次在code review的时候,一个应届毕业生问我,代码为什么需要可读性。我和他讲代码的美感和优雅、可维护性、可测试性,他却说那有什么用,只要能跑起来,能够实现功能,不就是好代码么?我不能否认这一点,但只能实现功能的代码绝对称不上好代码,就像没杀过人的人就是好人,你觉得对么?也有人和我争论说,...
-
实在、好读、漫画幽默的小书
7有用 1无用 蚂蚁 2012-03-19
接着去年11月份实习时用 kindle 读到 20% 落下的好书,中间隔了几个月...这本新书的名字也是“The Art of xxx”,很容易让我感觉到这是很严谨不易读的书,那本 TAOCP 是我这种数学能力超弱的人读不了的,而 TAOUP 对几乎没怎么用过 Unix/Linux 的我也比较难理解...
-
低成本编程
4有用 0无用 想太多... 2012-10-15
软件开发除了要能达到目标,还要尽量减少成本。怎样减少成本?这里抛开人员分配,任务安排等项目管理方面的不管,有哪些呢?除了明确准确的需求(减少无效编程),良好的设计(更巧的达到目标 less makes more)外,我想就是编码质量。编码的成本分开发成本与维护成本,后者成本又是远高。 &n...
-
这是一本被低估了价值的书
3有用 1无用 才克服死机 2012-07-19
“这是一本被低估了其价值的书”,一位朋友在向我推荐这本书时向我如是说。听到这样的评价,笔者在拿到书后立即开始兴奋地阅读,但因为一些琐事,本打算一周内看完写书评的,结果又拖了两天。总体来讲,确实受益匪浅,物超所值,很受用。作为一名程序员,当看别人的代码时,总希望清晰易读,所以自己写代码时,也希望有这种...
-
短小精悍,受益匪浅
3有用 1无用 Nina 2012-07-16
这本书短小精悍,引人入胜。译文流畅,在阅读过程中没有障碍。 译版不过170多页,分成了15个章节,易于查阅。还别具匠心地在适宜处插入漫画。即使是阅读文字耐心不足的人,也能以轻松愉快的心情读完本书。 本书的确是浓缩的精华。...