码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-11-21 15:00:09      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:人生   for   ever   重要   简单的   count   表示   函数参数   available   

第一章 整洁代码

  读完,个人觉得第一章的关键点在于让读者追求卓越,不仅仅满足于功能的实现,更要培养代码整洁的思维。所以对待你的代码就像去雕琢艺术品一样,不要把它当成垃圾,认真去雕琢每一个细节,另外,文中有个很重要的观点,值得我们反思:如果能立刻清理自己能运行的烂代码,那么就应该马上行动。如果你想说有朝一日再回头清理,那么或许永远不会有那一天。勒布朗法则:稍后等于永不(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.作者说没人一开始就按照规则写函数,他自己也做不到。初稿也许粗陋无序,但是应该斟酌推敲,直至达到心目中的样子。

  大师级程序员把系统当做故事来讲,而不是当作程序来写。我会以此为目标,不懈努力。

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

标签:人生   for   ever   重要   简单的   count   表示   函数参数   available   

原文地址:http://www.cnblogs.com/xltx/p/7871892.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!