《代码整洁之道》读书笔记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《代码整洁之道》读书笔记相关的知识,希望对你有一定的参考价值。
第一章 整洁代码
读完,个人觉得第一章的关键点在于让读者追求卓越,不仅仅满足于功能的实现,更要培养代码整洁的思维。所以对待你的代码就像去雕琢艺术品一样,不要把它当成垃圾,认真去雕琢每一个细节,另外,文中有个很重要的观点,值得我们反思:如果能立刻清理自己能运行的烂代码,那么就应该马上行动。如果你想说有朝一日再回头清理,那么或许永远不会有那一天。勒布朗法则:稍后等于永不(Later equals never)。(其实做任何事情都应该这样,如果可以当下完成,请立刻行动!)。
第二章 有意义的命名
在软件开发的过程中,给变量、函数、参数、类和包命名随处可见。取名字也是一门艺术与学问,有人嗤之以鼻,不就是个名字吗?应该没那么重要吧。我想,如果你父母给你取一些叫刘产、庞光、魏生津和史珍香等名字,等你懂事后,一定会开始怀疑人生的,所以请认真对待取名这件事,并贯彻到每一个包、类、参数、函数甚至是变量中。以下是我觉得几条比较重要的取名规则规则:
1.名副其实、见名知意(最重要!!!!)
比如 int d;如果我不加注释,你估计要懵逼。
但是 int elapsedTimeInDays;如果你英文不好,刚开始也会迷茫,但是翻译后很容易理解,//消逝的时间并以日计 ,那么你就应该明了了。
所以取名字要让别人一眼知道发生了什么,不用去猜,即见名知意。
2.避免误导
文中说别用accountList来指称一组账号,除非它真的是List类型,用xxxGroup/bunchOfxxx/xxxs代替更好。但是我想那是就母语为英语的人而言或许会有混淆,但是在现实中,大部分母语不是英语的开发人员还是能一眼就明白的,这是个人主观想法,有待讨论。
3.做有意义的区分
只要体现出有意义的区分,Infor和Data就像a、an和the一样是意义混淆的废话。
4.使用读得出来的名称
来看个名字nyrsfm,读个给我看看,估计你也读不出。但是我自己觉得很简单啊,年月日时分秒的拼音缩写。我觉得简单的你不一定知道,所以尽量规范及可以读得出来。
5.使用可搜索的名称
比如if(status == 1),你不加注释的话别人应该很难理解
但是如果你定义为if(status == AVAILABLE),即将1定义为常量并且可搜索到,会好得多。在开发中,我也经常看到大家使用常量或者枚举来表示一些特定的东西,显得相对规范。
6.避免使用编码
一些前缀能不加就不加,比如m_dsc,m_很多余,应该去掉。
7.避免思维映射
不要用只有你能理解的东西来表现,明确才是王道。
8.类名和对象应该是名词或名词短语,方法名应该是动词或动词短语
取好名字的关键地方在于需要良好的描述技巧和共有的文化背景,这点很重要,因为我们的母语并不是英语并且文化也不一样,我们应该学会辨别我们真正需要的东西,尽信书不如无书。
第三章 函数
这本书如果只能选择读一章,我肯定选择第三章。看完这章,再去阅读别人的代码和审视自己的代码,就会发现自己原来写的代码就是垃圾,但是这也就是进步的开始。怎样写好函数,我们来看看。
1.尽可能的短小(有时候太长也是烦恼┐(?~?)┌)。
2.函数应该做一件事,做好这件事,只做这一件事。
3.使用描述性的名称,让别人看到的描述就知道你要干什么。
4.理想的函数参数的数量是零个,其次是一,再次是二,应尽量避免三。
5.如果函数看来需要两个,三个或者三个以上参数,就说明其中一些参数应该封装为类了。
6.抽离try/catch代码块 。
7.别重复,重复是一种难闻的味道。
8.作者说没人一开始就按照规则写函数,他自己也做不到。初稿也许粗陋无序,但是应该斟酌推敲,直至达到心目中的样子。
大师级程序员把系统当做故事来讲,而不是当作程序来写。我会以此为目标,不懈努力。
以上是关于《代码整洁之道》读书笔记的主要内容,如果未能解决你的问题,请参考以下文章