首页 > 其他 > 详细

代码质量衡量指标

时间:2021-07-28 18:13:57      阅读:16      评论:0      收藏:0      [点我收藏+]

1 代码质量衡量指标

SQALE(Software Quality Assessment based on Lifecycle Expectations)方法整合了ISO-25010标准与代码规范,其目标是:以客观、准确、可复制和自动化的方式为评估软件应用程序的源代码提供支持;为管理技术债务提供一种有效的方法。SQALE是目前众多主流代码分析工具的参照标准,包括我们熟知的SonarQube,和CoderGears, SQUORE等商用代码扫描分析工具。

  • 编码规范:是否遵守了编码规范,遵循了最佳实践。
    [强制]等级规约必须遵守

  • 潜在问题:可能在最坏情况下出现问题的代码,以及存在安全漏洞的代码。
    数量小于10,安全风险类潜在Bug必须修复

  • 文档和注释:过少(缺少必要信息)、过多(没有信息量)、过时的文档或注释。

  • 重复代码:违反了Don’t Repeat Yourself原则.
    重复代码不超过20%

  • 复杂度:代码结构太复杂(如圈复杂度高),难以理解、测试和维护.
    圈复杂度超过20的代码必须重构

圈复杂度 代码状况 可测性 维护成本
1-10 清晰、结构化
10-20 复杂
20-30 非常复杂
>30 不可读 不可测 非常高
  • 单元测试覆盖率:编写单元测试,特别是针对复杂代码的测试覆盖是否足够。
    达到70%

  • 技术债:偿还债务所需耗费的资源/重写所有代码预估耗费的资源
    SonarQube中

    • [0, 5%] -> A , 默认需要达到的等级
    • (5%, 10%] -> B
    • (10%,20%] -> C
    • (20%, 50%] -> D
    • 高于50% -> E
      达到100%时,即债务开始超过资产,资不抵债,这时就称这种情况为“技术破产”。

    负债等级达到B或负债比率小于等于10%

参考资料


代码质量衡量指标

原文:https://www.cnblogs.com/hello-zy/p/15070894.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!