日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > 互聯(lián)網(wǎng) > 軟件質(zhì)量之道:SourceMonitor

軟件質(zhì)量之道:SourceMonitor

來(lái)源:程序員人生   發(fā)布時(shí)間:2014-11-07 08:59:40 閱讀次數(shù):8065次

有些事非做不可,并不是為了幸福,而是減緩?fù)纯啵捎诓蛔觯瑒t更痛苦――這便是無(wú)奈。

夏中義 《文心獨(dú)白》

 

1 引子

博客又有1陣子沒(méi)更新了,最近認(rèn)真思考了阿里上市的成功的地方:選擇和堅(jiān)持。其實(shí)http://www.jyygyx.com/cxrs/并沒(méi)有絕對(duì)的對(duì)與錯(cuò),也沒(méi)有絕對(duì)的成功與失敗。正如“有些人活著,他已死了”云云,我總是拿對(duì)與錯(cuò)來(lái)讓自己選擇,其實(shí)就是根本的毛病。決定走1條路,就繼續(xù)走下去,終點(diǎn)雖然不知道在哪里,那就縱情享受沿途的風(fēng)景,和珍惜與身旁的陪伴著的人的分分鐘鐘!

扯得有點(diǎn)遠(yuǎn),回歸主題。之前討論了軟件質(zhì)量之道的各個(gè)方面,但是也都是1些虛話(huà),達(dá)不到真實(shí)的目的。既然如此,還不如針對(duì)上1篇文章結(jié)尾部份的流程圖的每一個(gè)部份,進(jìn)行詳細(xì)的描寫(xiě),到達(dá)人人可用的效果,使之發(fā)揚(yáng)光大。

按部就班,首先先說(shuō)1下各個(gè)工具的用處和使用方法,然后再說(shuō)明如何用Ant進(jìn)行管理,最后再統(tǒng)1加到CruiseControl中進(jìn)行調(diào)度。

 

2 SourceMonitor簡(jiǎn)介

SourceMonitor是1款免費(fèi)的軟件,運(yùn)行在Windows平臺(tái)下。它可對(duì)多種語(yǔ)言寫(xiě)就的代碼進(jìn)行度量,包括C、C++、C#、Java、VB、Delphi和HTML,并且針對(duì)不同的語(yǔ)言,輸出不同的代碼度量值。

像其他代碼度量工具1樣,SourceMonitor只關(guān)注代碼,并為編碼人員提供及時(shí)的反饋,它不是1款項(xiàng)目管理工具,不關(guān)注項(xiàng)目實(shí)行中從功能分析到設(shè)計(jì)編碼,再到測(cè)試這全部進(jìn)程。

SourceMonitor只是1個(gè)“度量”工具,但是通過(guò)基本的度量,可以從代碼表面層次發(fā)現(xiàn)1些根本的,基礎(chǔ)的問(wèn)題,所以將其作為介紹的第1個(gè)工具,也應(yīng)當(dāng)做為最基礎(chǔ)的1個(gè)工具來(lái)為軟件質(zhì)量把關(guān)。

 

3 SourceMonitor度量值

說(shuō)到SourceMonitor的度量,對(duì)不同的語(yǔ)言提供不同方面的度量,這里僅針對(duì)C++進(jìn)行介紹,其提供了以下幾方面的度量。(關(guān)于其他語(yǔ)言,請(qǐng)參考SourceMonitor的幫助文檔Explanation of Language Metrics章節(jié))

1. 總行數(shù)(Lines)

包括空行在內(nèi)的代碼行數(shù)。

2. 語(yǔ)句數(shù)(Statements)

在C++中,語(yǔ)句是以分號(hào)結(jié)尾的。分支語(yǔ)句if,循環(huán)語(yǔ)句for、while,跳轉(zhuǎn)語(yǔ)句goto都被計(jì)算在內(nèi),預(yù)處理語(yǔ)句#include、#define和#undef也被計(jì)算在內(nèi),對(duì)其他的預(yù)處理語(yǔ)句則不作計(jì)算,在#else和#endif、#elif和#endif之間的語(yǔ)句將被疏忽。

3. 分支語(yǔ)句比例(Percent Branch Statements)

該值表示分支語(yǔ)句占語(yǔ)句數(shù)目的比例,這里的“分支語(yǔ)句”指的是使程序不順序履行的語(yǔ)句,包括if、else、for、while、break、continue、goto、switch、case、default和return。需要注意的是,do不被計(jì)算在內(nèi),由于其對(duì)應(yīng)的while已計(jì)算了。另外,異常處理的catch也被作為1個(gè)分支計(jì)算。

4. 注釋比例(Percent Lines with Comments)

該值唆使注釋行(包括/*……*/和//……情勢(shì)的注釋?zhuān)┱伎傂袛?shù)的比例。1般公司會(huì)對(duì)每一個(gè)文檔的header或footer部份進(jìn)行特殊的聲明注釋?zhuān)梢栽俟こ虒傩灾性O(shè)置過(guò)濾,不計(jì)算在內(nèi)。

5. 類(lèi)個(gè)數(shù)(Classes)

包括class,struct和template在內(nèi)的個(gè)數(shù)。

6. 平均每一個(gè)類(lèi)方法數(shù)(Methods per Class)

平均每一個(gè)類(lèi)的方法數(shù),即包括內(nèi)聯(lián)和非內(nèi)聯(lián)的,template函數(shù)在內(nèi)的類(lèi)方法數(shù)除以所有類(lèi)的個(gè)數(shù)。

7. 函數(shù)個(gè)數(shù)(Functions)

所有函數(shù)的個(gè)數(shù)。

8. 平均每一個(gè)函數(shù)包括的語(yǔ)句數(shù)目(Average Statements per Method)

總的函數(shù)語(yǔ)句數(shù)目除以函數(shù)數(shù)目得到該值。

9. 函數(shù)圈復(fù)雜度(Function Complexity)

圈復(fù)雜度唆使1個(gè)函數(shù)可履行路徑的數(shù)目,以下語(yǔ)句為圈復(fù)雜度的值貢獻(xiàn)1:if/else/for/while語(yǔ)句,3元運(yùn)算符語(yǔ)句,if/for/while判斷條件中的"&&"或“||”,switch語(yǔ)句,后接break/goto/ return/throw/continue語(yǔ)句的case語(yǔ)句,catch/except語(yǔ)句等。對(duì)應(yīng)有最大圈復(fù)雜度(Max Complexity)和平均圈復(fù)雜度(Avg Complexity)。

10. 函數(shù)深度(Block Depth)

函數(shù)深度唆使函數(shù)中分支嵌套的層數(shù)。對(duì)應(yīng)有最大深度(Max Depth)和平均深度(Avg Depth)。

 

4 SourceMonitor實(shí)戰(zhàn)

下面介紹如何使用SourceMonitor建立工程,針對(duì)不同的Solution活著Project建立Checkpoint。

1. 安裝SourceMonitor,這個(gè)不詳細(xì)介紹,下載安裝便可。

2. 打開(kāi)SourceMonitor,建立工程。


3. 選擇語(yǔ)言,并點(diǎn)擊下1步。


4. 為當(dāng)前工程命名,并選擇工程文件保存路徑。


5. 選擇當(dāng)前工程要度量解析的文件,可以通過(guò)配置文件列表(XML)或指定路徑自動(dòng)搜索方式添加。


6. 選擇相干的配置,可以直接下1步疏忽,如果有相干需要進(jìn)行選擇設(shè)定。



7. 指定當(dāng)前Checkpoint的名稱(chēng)。


8. 查看配置項(xiàng),并肯定。


9. 確認(rèn)要度量的文件列表。


10. 工程建立終了,并完成第1個(gè)度量點(diǎn)。


11. 雙擊檢查點(diǎn),查看各個(gè)文件的度量值。


12. 雙擊某個(gè)文件,查看詳細(xì)信息。


這樣,基本的1個(gè)工程就建立終了了,其他的功能,例如設(shè)置各個(gè)指標(biāo)的默許值,大家可以自己嘗試1下。

 

5 配置SourceMonitor到編輯器內(nèi)

由于SourceMonitor是代碼度量最基礎(chǔ)的1個(gè)模塊,所以每一個(gè)http://www.jyygyx.com都可能會(huì)將其作為代碼評(píng)測(cè)的1個(gè)經(jīng)常使用功能項(xiàng)添加到熟習(xí)的編輯器中。這樣每寫(xiě)完1段代碼,都可以履行檢測(cè)1下當(dāng)前文件是不是滿(mǎn)足度量指標(biāo)。


5.1 Visual Studio設(shè)置

1. 設(shè)置外部工具。


2. 添加并配置選項(xiàng)


Title: SourceMonitor

Command: 安裝SourceMonitor的目錄

Arguments: /DC++ $(ItemPath)

Initial directory: $(SolutionPath)

3. 添加快捷鍵


選擇剛才添加SourceMonitor是ExternalTools里面第幾個(gè),例如說(shuō)我剛才添加的位置為第6個(gè),則選擇Command6,并指定快捷鍵(我默許指定為Alt + 1,這個(gè)根據(jù)個(gè)人喜好來(lái),但是盡可能別造成快捷鍵沖突)。


4. 打開(kāi)某個(gè)文件,按快捷鍵履行SourceMonitor,結(jié)果就顯示出來(lái)了。



5.2 UltraEdit設(shè)置

由于很多公司都會(huì)開(kāi)發(fā)2次語(yǔ)言,來(lái)合適自己工具的使用。這類(lèi)語(yǔ)言可能跟C或某些語(yǔ)言很相似,但是用Visual Studio這類(lèi)龐大的工具來(lái)打開(kāi),效力不是很高,所以有可能選擇使用1些輕量級(jí)的編輯器,例如說(shuō)UltraEdit這類(lèi),那末添加方法跟Visual Studio類(lèi)似,以下。

1. 工具欄配置添加新工具。


2. 進(jìn)行參數(shù)設(shè)置


名稱(chēng): SourceMonitor

命令行: "D:SourceMonitorSourceMonitor.exe" /DC++"%f"

工作目錄: %p

3. 點(diǎn)擊履行,或通過(guò)快捷鍵履行。

 

5.3 其他工具設(shè)置

如果使用其他工具,則可以參考工具的幫助文檔,修改/DC++后的文件名稱(chēng)參數(shù)和工作目錄參數(shù)便可。

 

6 進(jìn)1步思考

又到了最后關(guān)鍵的1步了,談1下近期的1些感悟吧。有些事情不了解的時(shí)候,總會(huì)從消極的角度的方面去斟酌問(wèn)題。

例如說(shuō),之前我對(duì)多線(xiàn)程不是很了解,我便會(huì)極力的保護(hù)自己“不懂多線(xiàn)程”這個(gè)缺點(diǎn),從而去從消極的角度及方面評(píng)判多線(xiàn)程。但是最近處理大范圍數(shù)據(jù)文件時(shí)(大概2000萬(wàn)個(gè)以上),我卻深深的體會(huì)到了多線(xiàn)程的各個(gè)方面的優(yōu)勢(shì),也學(xué)會(huì)了更多的知識(shí),雖然也寫(xiě)出了讓大牛們嘲笑的“自旋鎖”代碼,看過(guò)《Imperfect C++》關(guān)于多線(xiàn)程的那1節(jié)后,立馬酡顏了,利用周末的時(shí)間,完全修改了這個(gè)“問(wèn)題”。

另外,再接觸這方面的知識(shí)時(shí),就會(huì)從不同的角度上去理解及思考,也發(fā)現(xiàn)了更多更有趣的內(nèi)容,例如怎樣用C++11的異步,把界面和處理扔到不同的線(xiàn)程中去,又怎樣把Log扔到對(duì)應(yīng)的Log打印窗口中去,真是其樂(lè)無(wú)窮啊。

上周末,又看了1遍《星際寶貝》,也總結(jié)了最近各個(gè)不盡人意的方面,發(fā)現(xiàn)自己之前實(shí)在是太過(guò)自我為中心,有很多問(wèn)題不知道從自己找緣由,而不斷的責(zé)備他人(真心的對(duì)被我傷害的人說(shuō)聲對(duì)不起)。還是應(yīng)當(dāng)時(shí)時(shí)刻刻警省自己,如果“壞蛋”成份要滿(mǎn)了,那就暫時(shí)放下所有的事,“醫(yī)治”好了再繼續(xù),不要由于自己而出錯(cuò)!


生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線(xiàn)----------------------------
分享到:
------分隔線(xiàn)----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产成人高清视频 | 99视频| 国产高清中文字幕 | 亚洲一区久久 | 国产老女人精品毛片久久 | 69视频在线播放 | 一区二区三区四区国产精品 | 91免费高清 | 亚洲国产小视频 | 日韩视频二区 | 中文精品视频 | 日韩国产 | 日韩在线h | 欧美一级片 | 成人免费视频网站在线看 | 国产一区二区三区精品久久久 | 国产精品178页 | 青草青草 | 欧美a级成人淫片免费看 | 最近中文字幕免费在线观看 | 成人精品在线 | 国产精品欧美日韩 | 99久久精品一区二区成人 | 国产乱码精品一区二区三区五月婷 | 欧美一二 | 久久91精品国产 | 99久国产| 精品中文字幕一区二区三区 | 日本福利在线观看 | 88xx永久免费看大片 | 久久99视频精品 | 成人国产综合 | 免费日韩 | 久久精品久久久精品美女 | 日韩中文字幕精品 | 国产视频二区 | 国产 日韩 欧美 在线 | 91视频在线免费 | 色综合久久88色综合天天提莫 | 永久免费看毛片 | 福利在线一区 |