分享

利用代码度量值来衡量代码质量

 东北十三少 2022-11-11 发布于四川

要衡量代码质量的好坏,不能仅凭个人感觉,需要有数据支撑。代码度量就是一系列可以衡量代码质量的数据。

代码度量是一组软件度量值,使开发人员可以更好地了解他们的哪些代码需要返工或进一步测试。利用代码度量,开发人员可以了解代码中的类和/或方法的质量水平,是否需要返工或进行测试。

微软定义的代码度量包括可维护性指数、圈复杂度、继承深度、类耦合和代码行数等5个测量项,Visual Studio 提供了这5个测量项的度量工具。

  • 可维护性指数

可维护性指数表示维护代码的相对容易度,它通过计算Halstead Volume、圈复杂度和代码的行数来获得,结果是一个介于0和100之间的指数值,该值越大表示可维护性越好。可维护性指数介于20和100之间,表示代码的可维护性良好;介于10和19之间,表示代码的可维护性中等;介于0和9之间的等级,表示可维护性低。

  • 圈复杂度

圈复杂度用于衡量代码在结构上的复杂程度。它通过计算程序流中的不同代码路径的数目来获得。圈复杂度高的程序需要更多单元测试才能实现良好的覆盖率,并且不容易维护。

  • 继承深度

继承深度指明扩展到类层次结构的根的类定义的数目。层次结构越深,则越难了解特定方法和字段是在何处定义或/和重新定义的。它是通过计算继承树中从0开始的类型之上的类型数目(不包括接口)来获得的。

  • 类耦合

类耦合是指一个类与其他类的耦合程度,它通过参数、局部变量、返回类型、方法调用、泛型或模板实例化、基类、接口实现、在外部类型上定义的字段以及属性修饰来衡量。耦合较高表示类与类之间存在过多依存关系,使得设计难以重用和维护。

  • 代码的行数

这里的代码行数是代码的大概行数,并不是确切行数。计算代码行数时不包括空白、注释、括号及成员、类型和命名空间的声明等行数。代码行数过高的类或方法表示它们执行过多的工作,应予以拆分。否则,它们可能难以维护。

为了使用这些代码度量值,我们需要建立一个决策标准,比如当可维护性指数大于20时,表明代码质量差,必须进行重构,这样当我们通过Visual Studio工具获取以上代码度量值后,就可以依据这个决策标准判定代码质量的好坏。

这正是:

代码质量好与坏,可用数据来衡量

五个代码度量值,可以方便使用起

参考书目:测试有道——微软测试技术心得,作者:梁博 许珊 徐歆恺,出版社:电子工业出版社

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多