利用代码度量值来衡量代码质量
要衡量代码质量的好坏,不能仅凭个人感觉,需要有数据支撑。代码度量就是一系列可以衡量代码质量的数据。
代码度量是一组软件度量值,使开发人员可以更好地了解他们的哪些代码需要返工或进一步测试。利用代码度量,开发人员可以了解代码中的类和/或方法的质量水平,是否需要返工或进行测试。
微软定义的代码度量包括可维护性指数、圈复杂度、继承深度、类耦合和代码行数等5个测量项,Visual Studio 提供了这5个测量项的度量工具。
-
可维护性指数
可维护性指数表示维护代码的相对容易度,它通过计算Halstead Volume、圈复杂度和代码的行数来获得,结果是一个介于0和100之间的指数值,该值越大表示可维护性越好。可维护性指数介于20和100之间,表示代码的可维护性良好;介于10和19之间,表示代码的可维护性中等;介于0和9之间的等级,表示可维护性低。
-
圈复杂度
圈复杂度用于衡量代码在结构上的复杂程度。它通过计算程序流中的不同代码路径的数目来获得。圈复杂度高的程序需要更多单元测试才能实现良好的覆盖率,并且不容易维护。
-
继承深度
继承深度指明扩展到类层次结构的根的类定义的数目。层次结构越深,则越难了解特定方法和字段是在何处定义或/和重新定义的。它是通过计算继承树中从0开始的类型之上的类型数目(不包括接口)来获得的。
-
类耦合
类耦合是指一个类与其他类的耦合程度,它通过参数、局部变量、返回类型、方法调用、泛型或模板实例化、基类、接口实现、在外部类型上定义的字段以及属性修饰来衡量。耦合较高表示类与类之间存在过多依存关系,使得设计难以重用和维护。
-
代码的行数
这里的代码行数是代码的大概行数,并不是确切行数。计算代码行数时不包括空白、注释、括号及成员、类型和命名空间的声明等行数。代码行数过高的类或方法表示它们执行过多的工作,应予以拆分。否则,它们可能难以维护。
为了使用这些代码度量值,我们需要建立一个决策标准,比如当可维护性指数大于20时,表明代码质量差,必须进行重构,这样当我们通过Visual Studio工具获取以上代码度量值后,就可以依据这个决策标准判定代码质量的好坏。
这正是:
代码质量好与坏,可用数据来衡量
五个代码度量值,可以方便使用起
参考书目:测试有道——微软测试技术心得,作者:梁博 许珊 徐歆恺,出版社:电子工业出版社
作者简介:王小双,长期从事GJB5000推广、实施、评价、改进的工作,创建《软件工程之思》微信公众号,一直在《软件工程之思》分享GJB5000、CMMI、软件工程的知识和感悟。现致力于GJB5000咨询以及软件过程改进、软件工程能力提升的研究工作。
《利用代码度量值来衡量代码质量》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:http://www.bookhoes.com/2164.html