代碼質量衡量指標


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%

參考資料



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM