[阅读] The Clean Code 无瑕的程式码

章节连结

The Clean Code 这本书中讲述了软件开发中的重要环节 – 程式撰写所需具备的一些经验法则,包含了可读性、逻辑、意外处理和日后维护协作。每一个章节都可以独立来看,读者可以针对自己目前所遇上的瓶颈来找寻原则或是解法。程式写作本身就是个长期学习和精炼的过程,借由这本书,可以少走一些冤枉路,提前获得一些经验传授,我觉得是很值得的。
the-clean-code

书籍资料

书籍名称:The Clean Code 无瑕的程式码
作者:Robert C. Martin
ISBN:9789862017050
博客来推荐连结:https://tinyurl.com/ycvs72vh

1. 第一印象的主观想法

这本书的写作风格意料之外的简单好懂。纵使书中主要示范语言是以 Java 为主,跟我所学的 JavaScript 有一些根本上的差异 (像是没有 Class 的概念)。不过借由书中浅白的说明和范例,有开始了解到“当每个你看到的程式,执行结果都与你想的差不多”,那么就是在 Clean Code 的道路之上了。

2. 认同之处

Chapter 1 – 无暇的程式码
急于将产品上市,反倒会让程式码变得一团糟。随着新功能的加入,那么程式码将会越来越难以维护。换言之,写出杂乱的程式码,产能就会开始下降。烂程式不会让你赶上开发日期,只会让你整体的开发速度变慢。每一个函式、类别、模组都能表达单一的意图,不被其他变量细节干扰,且具有可读性
Chapter 2 – 有意义的命名
变量、函式的名称,要能解答大部分的问题。它应该要告诉你为何在此、要怎么使用
要产生有意义的区别,且使用可以被念出来、可被搜寻的名字
类别的名字 – 用名词或是名词词组,而动词是给方法用的。因为同义字的情况是有的(像是 get, fetch, retrieve),所以一种概念就只使用一种字词,以免误导
Chapter 3 – 函式
函式要尽可能的简短,且有区块和缩排
一个函式只做一件事,且要把这件事做好。换言之,这个函式必须要没有副作用,不会偷偷进行、触发其他函式。
别害怕去取较长的名称。一个较长但具描述性质的名称,比短且难以理解的名称还要好
使用例外处理错误。别忘记错误也是一件事。
不要重复写同样的东西。当你有发现的时候,就得将其提取出来,这样也方便日后维护。
Chapter 4 – 注解
注解是一种必要之恶,不要替糟糕的程式码写着注解。
试着用程式码表达你的本意,不准确的注解比没有注解更糟糕。
被注解起来的程式码,没有用到就删除吧。你可以使用版本控制来找回它们。
Chapter 5 – 编排
程式的编排,是一种沟通方式,这包含了缩排和空行。
变量的宣告,要尽可能的靠近变量被使用的地方。
Chapter 6 – 物件与资料结构
让变量保持私有,只暴露该让他人使用的部份就好,以免其他函式的操作,造成无形中的改动。
使用物件导向感到困难的事物,用结构化却比较容易,反之亦然。
Chapter 7 – 错误处理
错误处理很重要,不过不能模糊原本程式码的逻辑。
Try-catch,意指在 try 中出现错误时,会中断改到 catch 中继续进行。
尽可能不要回传 null 或是传递 null,除非 API 有预期有 null 的产生。
Chapter 8 – 边界
借由第三方软件的程式码,整合进自己的专案,并从中学习其架构
Chapter 9 – 单元测试
测试程式和产品程式一样重要,它本身的可读性也很重要。
一个测试只能有一个概念,尽可能的最小化断言(expect)的数量。

3. 总结

诚如开始所提,在撰写程式阶段的不同等级的工程师,都可以从这本书中得到不同程度的启发。它有着可以放于案头,随时翻阅的潜力。毕竟概念上的传递,并没有语言的限制。


按赞加入粉丝团

延伸阅读