老李分享:5個衡量軟件質量的標準 老李分享:5個衡量軟件質量的標準

老李分享:5個衡量軟件質量的標準

 

1. Sourc Lines of Code (SLOC) 
統計代碼行數多是最簡單的方法。它能體現軟件的規模,爲項目的發展和計劃提供一些數據支撐。例如,咱們每月統計一次代碼的行數,咱們就能大致知道項目的發展狀況。固然,這不是一個值得信賴的標準,由於有重構以及設計的因素。 

SLOC 最好是統計 Source Logical Line of Code (SLLOC) 以得到更準確的信息。Logical code lines 不包含空行,單個括號行以及註釋行。你能夠經過 Metrics 這樣的工具很容易的統計 SLLOC。 

代碼行數不該該被用來衡量開發效率。不然容易形成重複的,不易維護的和不專業的代碼。html

2. Bugs per code_section/module/time_period 
問題跟蹤是保證測試和可維護性的關鍵步驟。假如全部的問題(bug)都是有跟蹤的話,每一個代碼單元,每一個模塊或者某個特定時間(day, week, month...)的問題就很容易被統計(例如 Mantis 工具)。當咱們有了這些數據之後,問題的根源就能夠被儘早發現並處理。 

問題數量能夠做爲衡量開發質量的一個標準,但必須用的很當心。假如過度強調 bug 數量,那麼開發和測試的關鍵就會很緊張。在一個有效率的公司,全部的員工都應該融洽的相處。 

爲了更好的對代碼質量進行評估。Bug 能夠分爲 low, medium, high 三種級別,由於它們的重要性和修復的成本是不同的。java

3. Code Coverage 
Code coverage 代表了代碼被測試的程度。有不少工具能夠自動統計這個數據,例如 Cobertura 。 

Code coverage 不能說明單元測試的總體質量,可是能說明測試的覆蓋面。它能夠和其餘一些指標一塊兒用來衡量軟件的質量。固然,咱們也須要常常回顧單元測試代碼和集成測試的用例。node

4. Design/Development Contraints 
軟件開發中有不少設計規則,例如: 
 - 類/方法的長度 
 - 方法/屬性的數量 
 - 方法的參數數量 
 - 特殊數值以及字符串的使用量 
 - 註釋的比例 
這些規則都是保證代碼可讀性和可維護性的重要指標。開發團隊應該選擇一些或者所有的規則來實施(例如 maven pmd plugin )。這將幫助提升軟件產品的質量。apache

5. Cyclomatic Complexity(環路複雜度) 
把環路複雜度單獨列出來說是由於它和其餘的設計準側不太同樣。環路複雜度是關於代碼實現和執行。它也能夠經過工具自動計算,例如 pmd 。 maven

這個數值是獨立的代碼執行路徑數量。例如: 工具

Cyclomatic Complexity = E(edges) - N(nodes) + 2P (exit nodes) 
So, Cyc.Cmp. = 8 - 7 + 2*1 = 3 

你也能夠看到,從起點到終點,有三條不一樣的路徑。這個值每每是針對方法來計算。根據不一樣的項目類型,咱們能夠設定這個值的上限,例如6,8,或者10。 

一個指標不能說明整個項目的質量。使用更多的指標,會讓你對項目的質量有更全面的瞭解。post

相關文章
相關標籤/搜索