zoukankan      html  css  js  c++  java
  • 代码整洁之道读后感(二)

    有意义的命名和函数

    命名:

    1. 名副其实---选个好名字要花很长时间,但省下来的时间更多。如果发现有更好的名称,就换掉旧的。
    2. 避免误导---比如,使用accountList指称一组帐号
    3. 使用读的出来的名称---比如,genymdhms(生成日期,年,月,日,时,分,秒),这个怎么读??
    4. 类名---类名和对象名应该是名词或名词短语,如Customer、WiKIPage、Account,避免使用Manager、Processor、Date这样的类名。
    5. 方法名---方法名应当是动词或动词短语。

    函数:

    1. 短小---第一规则短小,第二规则还是更短小。
    2. 只做一件事---函数应该做一件事;做好这件事;只做这一件事;
    3. 每个函数一个抽象层级---自顶向下读代码:向下规则
    4. swith语句---写出短小的switch语句很难。如果你无法避免使用switch,那么请将它放到较低的抽象层级去,并仅出现一次。
    5. 使用描述性的名称---
      1. 别害怕长名称,长而具有描述性的名称,要比短而令人费解的名称好。
      2. 长而具有描述性的名称,比描述性的长注释要好。
      3. 使用某种命名约定,让函数名称中的多个单词容易阅读;
      4. 别害怕长时间取名字,这会有助于你理清关于模块的设计思路;
      5. 命名方式要一致,例如includeSetupAndTeardownPages、includeSetupPages、includeSuiteSetupPage
    6. 函数参数---
      1. 最理想的参数是零,其次是一、再次是二、尽量避免三,除非你有特殊理由,否则别用三个以上。
      2. 别用标识参数,向函数传入布尔值,就是在说函数不止做了一件事,如果true,这样做,false就肯定不会这样做。例如render(Boolean isSuite),少许有些帮助,不过你更应该一分为二,renderForSuite()和renderForSingleTest()
    7. 无副作用---
      1. 副作用就是你在撒谎,函数承诺只做一件事,但还是会做其他被藏起来的事。
    8. 别重复自己
  • 相关阅读:
    kb-07线段树-12--二分查找区间边界
    kb-07线段树--11--区间多重该值多种查询
    kb-07线段树--10--dfs序建树
    kb-09-线段树--区间合并比较繁
    kb-07线段树-08--区间开根
    kb-07-RMQ线段树--07(动态规划)
    kb-07线段树-06离散化(与第四题类似)
    kb-07线段树-05-区间整体修改查询;(水)
    poj-2486-Apple Tree
    mnist的数据预处理
  • 原文地址:https://www.cnblogs.com/beiyeren/p/3915393.html
Copyright © 2011-2022 走看看