0%

Clean Code

1. 观点

  1. 代码混乱的代价十分庞大
  2. 写整洁代码是十分有必要的
  3. 我们是作者,代码是写给别人看的,要让人迅速看懂

2. 有意义的命名

  1. 命名要体现本意

    避免使用模糊的名称

  2. 命名要避免误导

    不应出现 List 或 Map 等指示变量类型的名称。
    简单加个 s 或使用其他表示复数的表示法即可。

  3. 命名要避免废话和冗余

    缺乏明确约定的前提下,不应使用冠词无意义的后缀
    theMessagemessage

  4. 命名要简单易读

    不要生造词,要使用易读的英文

  5. 命名要易于搜索

    名称长短应与其作用域大小相对应
    大作用域内,不应直接使用数字常量。

  6. 避免使用匈牙利命名法

    命名不应前缀或后缀变量类型

  7. 避免使用成员前缀

    在现代 IDE 中,没有必要使用冗余的成员前缀。
    在过多的使用前缀后,前缀将会被越来越多的忽略。

  8. 避免使用接口前导字母

    原因和上条相同,只不过这里指的是类一级

  9. 避免产生思维定式

    应使用较为直白的命名,而不是生造一些定式单字词

  10. 关于类名

    类名是名词或者名词短语。
    类名不应该是动词。

  11. 方法名

    方法名是动词或者动词短语。
    getter, setter 和 assert 应依照 Javabean 标准使用 get, set 和 is 前缀

  12. 别扮可爱

    代码是严肃的,直白的
    不应当出现过于幽默或者恶搞的命名

  13. 每个概念对应一个词

    对于每个抽象概念取一个词,并确定下来。

  14. 不要使用双关

    时刻保证每一个词只会代表一种含义
    add 方法用于连接两个现有值产生新值,则将单个值插入 collection 的方法就不能命名为 add,应命名为 insert 或者 append

  15. 使用技术性名称

    看代码的都是程序员,使用技术性名称会更加靠谱。

  16. 使用源自问题领域的名称

    如果不能使用技术性的名称,则应使用源自问题领域的词汇

  17. 添加有意义的语境

    很少有名称能够自我说明,最好为命名添加语境。
    只有一个变量时,可以为其添加前缀说明语境。
    但同一语境的变量过多时,应优先选择类作为变量的语境

  18. 不要添加没用的语境

    只要短名称足够清楚,就不要使用长名称

3. 函数

  1. 函数应尽可能短小

    最佳的函数逻辑行数应该在个位数

  2. 函数应该只做一件事

    一个函数应该只做一项工作。
    如果当前函数能够拆分出一个新函数,这说明其依然不够简洁。

  3. 应确保 switch 埋藏在较低的抽象层级,并不重复

    很不幸的是, switch 语句没有办法避免。
    所以只能将其尽量地包装起来,不要嵌套过深。

  4. 函数应使用描述性的名称

    函数名称总比注释要好

  5. 函数参数应尽量简洁

    参数个数越少越好。
    尽量避免输出参数,应从返回值输出。

  • 本文作者: Wafer Li
  • 本文链接: https://wafer.li/CleanCode/Clean Code/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!