《代码整洁之道》学习笔记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《代码整洁之道》学习笔记相关的知识,希望对你有一定的参考价值。

  这几天读了《代码整洁之道》的前面10个章节,收益颇多。此书结合代码,直接对比代码修改前和修改后的效果,可以让读者立刻看到修改的效果。回头看看自己写过的代码,果然里面存在不少书中指出的问题,比如变量命名随意、类过大、函数过大等等。现在我在此对书中给我深刻印象的部分做些整理,以备以后查看。

  首先就是命名,包括变量、函数、类等。我在构建代码时,常常由于难以想出怎么用英文来表达一个词,而用中文拼音又显得太low。我高兴的时候就百度下单词,这样的命名还算可以;没心思的时候就各种随意的名字出来了,后面看到要通过上下文来判断名字的含义。以前对命名很是不屑,认为起名字要花好多时间,有可能就把刚刚的灵感打断了。读完此书后,得到的一个重要的准则是:“编程中其实大部分在进行命名,所以很有必要让命名规范。选个好名字要花时间,但是省下的时间会更多。一旦发现有更好的名字,立刻替换旧名字。如果名称需要注释要解释,那它就不算是名副其实。”嗯,我们看到了,命名规范是很重要的。现代IDE功能强大,改个名字十分简单!在给变量命名时,要以短为原则,不要掺杂一些冗余的东西。“Name”好于"NameString",匈牙利命名法不能过度使用!也不必用“m_”来标记成员变量,应该把函数和类做得足够小,以消除对成员前缀的需要。我以前公司的编码规范是要加“m_”的,现在看来是个累赘,以前定义类总是把成员变量给暴露出来,现在要想着怎么样把成员变量封装好了,都通过接口来访问类,所以这个“m_”的前缀也就是冗余了。

  然后是函数了,函数不应过长,参数不宜过多,每个函数只做一件事。一开始肯定不能把事情做到完美,每个人开始写出的函数都是冗长重复、乱命名、索引杂乱的,包括传说的大神。像我此等菜鸟程序员往往是自我放弃,心想着我不是大牛,所以肯定写不出那种小而美的函数,写代码就是“一蹴而就”。然而,大牛们只是在事后仔细打磨了一开始创造的丑陋的代码,对函数进行调整、拆分、重命名、消除重复,来满足规则。现在想来,写好的代码没那么容易,要把代码当“亲儿子”照顾才是啊!

  再就是关于对象与数据结构的区别。对象隐藏数据,曝露行为;数据结构曝露数据,没有明显的行为(类似于c中的struct吧?)。对象便于添加新对象类型而无需修改既有行为,同时也难以在既有对象中添加新行为;数据结构便于向既有数据结构添加新行为,同时也难以想既有函数添加新数据结构。这里还是不太懂,以后在实践中理解吧!

  最后我get到的是关于测试的重要性,有一条准则:测试代码和生产代码一样重要。它不是二等公民,它需要被思考、被设计和被照料,它也该像生产代码一般保持整洁!这就像是在修建房屋时的防震措施,地震发生的概率太小了,也许不加防震,房子几十年甚至几百年都没事。但是一旦地震,后果却是毁灭性的。这比喻不太恰当,但好像就是那个意思吧!

  总结一下,全书的核心思想大概是“好好照顾你的代码”,它们生来并不完美,但是在你巧手的不断打磨下,它们将趋于完美。最后项目更可能取得成功,而你就成了大师!

  ps:同理,我也要好好对待下我自己的博文,每次写完再好好回顾,从写文章开始写代码!

以上是关于《代码整洁之道》学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

代码整洁之道 读书笔记

代码整洁之道 读书笔记

《代码整洁之道》读书笔记

第九次读书笔记——读《代码整洁之道》有感

[阅读笔记]代码整洁之道

《代码整洁之道》读书笔记-1