歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Sonar中的技術債務簡要了解

Sonar中的技術債務簡要了解

日期:2017/2/28 13:59:59   编辑:Linux教程

sonar中技術債務的計算基於SQALE(Software Quality Assessment based on Lifecycle Expectations,基於生命周期期望的軟件質量評估)方法學。

SQALE方法學是inspearit開發的,後來開源了。如果你在sqale.org上閱讀過相關文檔,你就會了解到它是關於“組織與代碼質量相關的非功能行需求”的。在SonarQube實現的SQALE方法中,那些非質量需求指的是質量配置中的編碼規則。

沒錯,SonarQube基於單獨的規則和問題實現了SQALE。那意味著,如果你想用SQALE管理你的技術債務,你首先需要公共的SonarQube存儲庫中那些規則的標記:

  • 重復的代碼塊

  • 失敗的單元測試

  • 不足的分支單元測試覆蓋率

  • 不足的注釋密度

  • 不足的單元測試行覆蓋率

  • 跳過單元測試

這些規則在一個公共的存儲庫中是因為他們對所有語言是共用的。一旦你激活了它們,你可以以一個問題跟蹤每個質量缺陷,為跟蹤技術債務(SQALE方法用天度量)做准備。

這些天的測量值是把每個問題中出現的技術債務相加得到的,你可以在每個問題塊中看到。

技術債務為每個問題設置了規則等級。如果你已經了解商業的SQALE插件,你可以調整每個規則的估量(當然,這個是沒有必要的)。

現在你知道修復應用需要花費多長時間,但是你怎麼按優先級排序你的工作呢?這裡有一個小部件,它叫做技術債務金字塔,它看起來一點不像你以前所見過的金字塔。

不要因這不像是一個古埃及的金子塔而困惑,這是一個比喻的金字塔。閱讀它的方法是自下而上的。底部的行在條形圖中總是有最小的條形,但是它有最大的入口因為它是基礎。這個小部件的每個行代表一種特征(characteristic),每個特征建立在它下面的基礎上。可測試性是底部,因為它最重要的是:首先,你要確保你的應用程序是可測試的,接著你要確保它的可靠性,可變性,有效性,等等。

圖中的每條顯示了每個特征的修復時間。淺藍色的部分顯示了清理這個特征的時間,深藍色的部分顯示了自下而上的工作累計時間。像往常一樣,每個部分的部件通過點擊下鑽操作讓你知道一個特征的技術債務的精確位置。

SonarSource SQALE插件擴展了SonarQube內置插件的功能。擴展的功能有:可以調整SQALE模型,提供了可添加的小部件等等。

譯:http://docs.codehaus.org/display/SONAR/Technical+Debt

Sonar 的詳細介紹:請點這裡
Sonar 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved