代码整洁之道(Clean Code)—读书笔记

第一章: 整洁代码

 

    为什么还要关注代码,    糟糕的代码及其恶劣影响,    什么是整洁的代码

                  为什么会有糟糕的代码,     为什么要整洁代码

 

    美国童子军军规:  让营地比你来时更干净。

 

第二章:有意义的命名

     

  变量名的命名建议: 

  • 有具体意义,可以自解释。    自解释:根据变量名,可以推断出变量的作用,以及怎么用。
  • 变量名间的意义区别应比较明显。这其实是上一条的进一步限制。 (比如 ProductData和ProductInfo,就不那么容易区分它们的意义。)
  • 避免误导程序员。

     1. 变量名中尽量不要包含 程序员敏感的词汇 。           (比如 accountList中的List。)

     2. 应该避免变量名过于相似。                  (既不利于程序员分辨,也不利于IDE自动代码完成。)  

                                自动代码完成,即IDE根据输入的不完整的变量名,寻找匹配的变量名,并提示给用户。

  • 能读得出来。        便于交流。
  • 可搜索。  变量名在适度的情况下,长一点比较好。而且名称的长短应与其作用域大小相对应。
  • 避免使用编码

 

 

     1. 匈牙利语标记法(Hungarian Notation,HN)。    如果是强类型语言,IDE在编译前就可以侦测到类型错误,所以没必要用HN。

     2. 成员前缀。(m_ )                人们很快就无视前缀。

     3.接口和实现。                    如果一定要用,就用ShapeFactoryImpl。

  • 每个概念对应一个词。    避免同意堆代码中,既有controller,又有manager,还有driver。容易使人困惑。
  • 当变量名脱离语境,会产生理解困难时,添加有意义的语境。   (比如:有一系列变量firstName,lastName,state,其中state要是脱离语境,就不那么容易理解了。)

        PS:不要添加没有意义的语境。  这句看上去像是废话,但是人们有时会不自觉的这么做。

                       比如:有个项目为 加油站豪华版(Gas Station Deluxe),里面很多类就变成:GSDAccountAddress等。

 

(未完,待续,希望大家一起讨论。)

 

posted @ 2012-06-29 20:52  爱丫到底  阅读(621)  评论(2编辑  收藏  举报