新聞中心
1. Sourc Lines of Code (SLOC)

創(chuàng)新互聯(lián)成立于2013年,我們提供高端網(wǎng)站建設(shè)公司、網(wǎng)站制作公司、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站定制、網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣、小程序設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、seo優(yōu)化排名服務(wù),提供專(zhuān)業(yè)營(yíng)銷(xiāo)思路、內(nèi)容策劃、視覺(jué)設(shè)計(jì)、程序開(kāi)發(fā)來(lái)完成項(xiàng)目落地,為效果圖設(shè)計(jì)企業(yè)提供源源不斷的流量和訂單咨詢(xún)。
統(tǒng)計(jì)代碼行數(shù)可能是最簡(jiǎn)單的方法。它能體現(xiàn)軟件的規(guī)模,為項(xiàng)目的發(fā)展和計(jì)劃提供一些數(shù)據(jù)支撐。例如,我們每個(gè)月統(tǒng)計(jì)一次代碼的行數(shù),我們就能大體知道項(xiàng)目的發(fā)展情況。當(dāng)然,這不是一個(gè)值得信賴(lài)的標(biāo)準(zhǔn),因?yàn)橛兄貥?gòu)以及設(shè)計(jì)的因素。
SLOC ***是統(tǒng)計(jì) Source Logical Line of Code (SLLOC) 以獲得更準(zhǔn)確的信息。Logical code lines 不包含空行,單個(gè)括號(hào)行以及注釋行。你可以通過(guò) Metrics 這樣的工具很容易的統(tǒng)計(jì) SLLOC。
代碼行數(shù)不應(yīng)該被用來(lái)衡量開(kāi)發(fā)效率。否則容易造成重復(fù)的,不易維護(hù)的和不專(zhuān)業(yè)的代碼。
2. Bugs per code_section/module/time_period
問(wèn)題跟蹤是保證測(cè)試和可維護(hù)性的關(guān)鍵步驟。假如所有的問(wèn)題(bug)都是有跟蹤的話(huà),每個(gè)代碼單元,每個(gè)模塊或者某個(gè)特定時(shí)間(day, week, month...)的問(wèn)題就很容易被統(tǒng)計(jì)(例如 Mantis 工具)。當(dāng)我們有了這些數(shù)據(jù)以后,問(wèn)題的根源就可以被盡早發(fā)現(xiàn)并處理。
問(wèn)題數(shù)量可以作為衡量開(kāi)發(fā)質(zhì)量的一個(gè)標(biāo)準(zhǔn),但必須用的很小心。假如過(guò)分強(qiáng)調(diào) bug 數(shù)量,那么開(kāi)發(fā)和測(cè)試的關(guān)鍵就會(huì)很緊張。在一個(gè)有效率的公司,所有的員工都應(yīng)該融洽的相處。
為了更好的對(duì)代碼質(zhì)量進(jìn)行評(píng)估。Bug 可以分為 low, medium, high 三種級(jí)別,因?yàn)樗鼈兊闹匾院托迯?fù)的成本是不一樣的。
3. Code Coverage
Code coverage 表明了代碼被測(cè)試的程度。有很多工具可以自動(dòng)統(tǒng)計(jì)這個(gè)數(shù)據(jù),例如 Cobertura 。
Code coverage 不能說(shuō)明單元測(cè)試的整體質(zhì)量,但是能說(shuō)明測(cè)試的覆蓋面。它可以和其他一些指標(biāo)一起用來(lái)衡量軟件的質(zhì)量。當(dāng)然,我們也需要經(jīng)?;仡檰卧獪y(cè)試代碼和集成測(cè)試的用例。
4. Design/Development Contraints
軟件開(kāi)發(fā)中有很多設(shè)計(jì)規(guī)則,例如:
- 類(lèi)/方法的長(zhǎng)度
- 方法/屬性的數(shù)量
- 方法的參數(shù)數(shù)量
- 特殊數(shù)值以及字符串的使用量
- 注釋的比例
這些規(guī)則都是保證代碼可讀性和可維護(hù)性的重要指標(biāo)。開(kāi)發(fā)團(tuán)隊(duì)?wèi)?yīng)該選擇一些或者全部的規(guī)則來(lái)實(shí)施(例如 maven pmd plugin )。這將幫助提高軟件產(chǎn)品的質(zhì)量。
5. Cyclomatic Complexity(環(huán)路復(fù)雜度)
把環(huán)路復(fù)雜度單獨(dú)列出來(lái)講是因?yàn)樗推渌脑O(shè)計(jì)準(zhǔn)側(cè)不太一樣。環(huán)路復(fù)雜度是關(guān)于代碼實(shí)現(xiàn)和執(zhí)行。它也可以通過(guò)工具自動(dòng)計(jì)算,例如 pmd 。
這個(gè)數(shù)值是獨(dú)立的代碼執(zhí)行路徑數(shù)量。例如:
- Cyclomatic Complexity = E(edges) - N(nodes) + 2P (exit nodes)
- So, Cyc.Cmp. = 8 - 7 + 2*1 = 3
你也可以看到,從起點(diǎn)到終點(diǎn),有三條不同的路徑。這個(gè)值往往是針對(duì)方法來(lái)計(jì)算。根據(jù)不同的項(xiàng)目類(lèi)型,我們可以設(shè)定這個(gè)值的上限,例如6,8,或者10。
一個(gè)指標(biāo)不能說(shuō)明整個(gè)項(xiàng)目的質(zhì)量。使用更多的指標(biāo),會(huì)讓你對(duì)項(xiàng)目的質(zhì)量有更全面的了解。
原文鏈接,OSChina.NET 編譯
當(dāng)前題目:5個(gè)衡量軟件質(zhì)量的標(biāo)準(zhǔn)(可自動(dòng)化)
標(biāo)題網(wǎng)址:http://www.fisionsoft.com.cn/article/djhjoeg.html


咨詢(xún)
建站咨詢(xún)
