第四章 代码的可理解性

第四章知识清单:

1. 代码可规范/可读性

2. 编码规范


1.代码的可规范性/可读性:

一个程序员大部分时间都是用来阅读并修改已有的代码,所以代码的可读性非常重要!

其中主要包括

  • 标识符(类名、变量名、方法名)的长度。
    度量方式:所有标识符的平均长度
  • 明明独特性的比率(Name Uniqueness Ratio)UNIQ
  • 代码复杂度:要避免多层嵌套,因为会增加复杂度(然而大多数情况也必须用)
  • 代码最大行数、文件的最大Loc、代码行数
  • 注释密度百分比:注释越多阅读和理解越容易。
  • 代码的布局:缩进、空行、对齐、分块等
  • 文件和包的组织

值得一提的是,代码的可读性/可理解性很多时候比效率/性能更加的重要,不可读不可理解代码可能蕴含更多的错误,所以要先写出可读易懂的代码,然后再去逐渐调优。


2.编码规范

eg:java中的代码规范:



选择和中编码风格是程序员个人的自由,但也要做到以下两点:

  1. 在所有地方保持一致的风格
  2. 遵从团队的统一编码风格

代码规范主要注意一下几个方面:

  • 命名(Naming):java中主要采用驼峰命名法。
  • 空行中的垂直布局:

  • 横向化布局:空格
  • 横向格式:缩进、换行
  • 文件组织:
    在源文件中应该按照以下顺序:
    1. 包或文件级别的注释。
    2. 包和导入的说明。
    3. public的类和接口声明
    4. private的类和接口的声明

    导入包也应该按照以下顺序:
    1. java标准包
    2. 第三方包
    3. 自定义的包

    类部分应按照以下顺序:
    1. javadoc注释
    2. 类声明的说明
    3. 整个类的注释
    4. 类静态变量声明
    5. 类示例变量声明
    6. 函数声明(构造方法优先)


包文件中的原则:

  • 复用/发布等价原则(REP):
    复用的粒度等价于发布的粒度。
  • 共同封闭原则(CCP)
    一个包中的所有类针对同一个变化是封闭的;一个包的变化将会影响包里所有的类,而不会影响到其他包,如果两个类紧密耦合在一起,即二者总是同时变化,那么他们就应属于同一个包。
  • 共同复用原则(CRP)
    一个包里所有的类应被一起复用;如果复用了其中一个类,那么就应复用所有的类。

包耦合原则:

  • 无圈依赖原则(ADT):不允许在包依赖图中出现任何回路,无圈将容易进行测试、维护与理解,若存在回路依赖,很难预测该包的变化将会如何影响到其他包。
    消除圈主要有两种方式:
    1. 创建新包


    2. 利用DIP(依赖倒置原则)和ISP(接口隔离原则)

  • 稳定依赖原则(SDP):
    包之间依赖关系只能指向稳定的方向,被依赖者更稳定于依赖者;稳定的包较难发生该边,如果不稳定的包却被很多其他的包依赖,会导致潜在的问题。

  • 稳定抽象原则(SDP)
    在稳定性与抽象度之间建立关联;一个包是稳定的,那么他就应该是尽可能抽象的;一个完全稳定的包中只应包含抽象类;不稳定的包应是具体的,以便于容易的进行修改。

SAP和SDP共构成了包之间的“依赖倒置原则DIP”;SDP:依赖应指向稳定的方向,SAP:稳定性隐含着抽象;因为,依赖应指向抽象的方向。

猜你喜欢

转载自blog.csdn.net/qq_37549266/article/details/80711780