编写可读性代码

2017-10-07  本文已影响0人  小旎子_8327

脏话的频率是衡量代码好坏的标准

一、代码应该易于理解

可读性定理

别人理解它的时间最小化
并不是意味着代码块越小理解时间越短,有时候短的代码可能花费更多的时间去让被人理解。

理解代码所需要的时间是否与其他目标冲突。

如良好的架构,易于测试。并不冲突。因为易于理解的代码往往可以引向良好的架构和测试。

二、表面层次的改进

2.1、把信息装进名字里

名字就是一个小小的注释

1、选择专业名词

比如:getPage(url)这个方法名get就用的就比较不专业。我们无法得知他是从本地缓存取的网页还是从互联网。如果是从互联网,可以使用fetch,或者download。

再比如,在写树的方法时候,我们用size()表达树的高度,但是在阅读时人们可能会产生疑惑,这个方法是得到树的节点数吗,于是得详细阅读代码才能知道这个代码是用来获取什么。是不是使用height()的方法名表意更清楚呢,如果想获得节点数,就使用NumNodes()方法名来表示。
那么,如何选择专业名词呢。
找到更有表现力的词

image.png
2、避免使用泛泛的名字
3、用具体的名字代替抽象的名字
4、使用前缀或后缀给名字附加更多信息
5、决定名字长度

在小作用域里可以使用短名字

6、利用名字格式表达含义

2.2、代码的审美

代码采用好的审美可以提高代码的可读性,包括

1、可以重新安排换行,让相似的代码看起来尽可能相似
2、如果换行让代码依旧毫无美感,可以将相似的代码提炼到一个方法里
3、在需要时使用列对齐,如果不是那么费功夫的话。
4、选一个有意义的顺序,至始至终保持他。
5、可以把代码的声明按逻辑分组。
6、把代码分成段落,用空行隔开。
7、保持个人风格的一致。

三、简化循环

3.1、让控制流变得易读

1、注意条件语句参数的顺序。

通常来说,被询问的是放在左侧

2、最小化嵌套

方式:1.使用continue 2、使用提早返回

3、减少让可读性变差的三目运算符、goto语句

3.2、拆分超长的表达式

1、引用解释变量
2、使用摩根定理重写代码

3.3、变量与可读性

1、减少变量和中间结果
2、缩小变量作用域
3、只写一次变量,让代码更容易理解

四、重新组织代码

4.1、抽取不相干的子问题

1、创建通用代码、自底向上编码
2、简化已有接口或重塑接口

4.2、代码只做一件事

4.3、用自然语言描述代码

4.4、少些代码

上一篇下一篇

猜你喜欢

热点阅读