怎么善用SourceMonitor+Astyle讓代碼維護(hù)者不再罵娘,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
10年積累的網(wǎng)站制作、做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先制作網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有沈陽免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
什么樣的代碼最想讓你罵娘,是這樣的,代碼層層嵌套
或者是這樣的密密麻麻,舍不得多一行免費(fèi)空格
又或者是那種又臭又長的代碼呢?
代碼除了用來運(yùn)行外,還有很重要的就是閱讀,給自己閱讀,或者給他人閱讀,如果幾個月后你自己都看不下去自己以前寫的代碼,呵呵…
愛美之心,人皆有之。漂亮的代碼,也是我們程序猿的追求,它不僅能夠完成要求的功能,而且還要整齊,有條理,易于理解。
漂亮的代碼能夠增強(qiáng)可讀性,同時也減弱了出錯的概率。最關(guān)鍵的一點(diǎn),漂亮的代碼不會被罵娘。
具體來說,漂亮的代碼通常:
1. 代碼縮進(jìn)
2. 分支語句嵌套的層數(shù)較少
3. 每個函數(shù)的代碼行數(shù)不會太多
4. 變量的命名有統(tǒng)一的風(fēng)格
5. 文件命名有統(tǒng)一的風(fēng)格
6. 注釋有統(tǒng)一的風(fēng)格
如此等等,這些都是實踐中總結(jié)出來的結(jié)晶。也許你也注意到了,這些東西不就是編程規(guī)范嗎?確實是如此。為了寫出漂亮的代碼,很多公司都會有自己的編程規(guī)范。
某些公司,還會對編程規(guī)范進(jìn)行考試,足見其重視程度。
作為一個狂放不羈的男子,我寫代碼從來不回頭,怎么可能管你什么代碼風(fēng)格。尤其個人偏愛Linux,代碼風(fēng)格也是Linux的。對于一些非Linux代碼風(fēng)格的項目來說,在寫完代碼后,難道讓我對著編程規(guī)范將函數(shù)內(nèi)的大括號一個一個單獨(dú)一行?
我需要一鍵格式化,就讓我的代碼風(fēng)格由Linux變成GNU風(fēng)格,變成JAVA風(fēng)格。在我不高興的時候,還能瞬間變回來。
我需要的就是 AStyle –支持”魔法換膚”,一鍵變換代碼風(fēng)格,堪稱編碼界的美圖秀秀。
AStyle(Artistic style),可以集成到Eclipse,VS,SourceInsight等工具中,對代碼進(jìn)行格式化、規(guī)范風(fēng)格。AStyle默認(rèn)支持Linux,ANSI,GNU,JAVA等風(fēng)格,也支持自定義風(fēng)格。
當(dāng)不同編碼風(fēng)格的程序員為一個項目共同貢獻(xiàn)代碼時,特別項目周期緊張時期,經(jīng)常會出現(xiàn)各式各樣的代碼導(dǎo)致極低的可讀性和可維護(hù)性。這個時候AStyle就能很好的解決這個問題。
對于我這樣的懶人來說,不用去管代碼縮進(jìn),將精力花在更重要的地方,就是一種減負(fù)。
解決了代碼風(fēng)格后,是否就可以算做漂亮的代碼了呢?
要知道再漂亮的衣服穿到胖子身上,也漂亮不到哪去(阿門,原諒我吧)。對于代碼來說,符合代碼風(fēng)格只是第一步,漂亮的代碼還要易于理解。讓人容易理解的話,單個函數(shù)的代碼行就不能太長,嵌套層數(shù)就不能太多,分支條件判斷不能太多。這些工作不是代碼風(fēng)格能解決的。我們需要能夠自動檢查代碼質(zhì)量的工具-SourceMonitor。
SourceMonitor是一款代碼質(zhì)量檢查的軟件。能夠檢查文件中函數(shù)的個數(shù),每個函數(shù)的代碼行數(shù),注釋比例,函數(shù)的調(diào)用深度,圈復(fù)雜度等。
其中需要最關(guān)鍵的是每個函數(shù)圈復(fù)雜度和每個函數(shù)的代碼行數(shù)。圈復(fù)雜度是指函數(shù)中可獨(dú)立執(zhí)行的路徑,因此函數(shù)中每出現(xiàn)一次if/else/while,switch/case/break等,圈復(fù)雜度就加1.圈復(fù)雜度越高,說明函數(shù)中可執(zhí)行的路徑越多,也就越復(fù)雜。超過一定值如(15或者10)以后就要考慮能否將函數(shù)重構(gòu)了。此外一個函數(shù)的代碼行數(shù)如果太長,不能一屏顯示的話,不容易讓人記住和理解,也需要對該函數(shù)進(jìn)行提煉。
利用SourceMonitor找出需要重構(gòu)或提煉的函數(shù)后,難道又要我手工重構(gòu)嗎,有沒有重構(gòu)的工具呢?全自動的目前還沒見過,如果有同學(xué)見到,請留言。相比來說,半自動的重構(gòu)工具還是比較多的,Eclipse中就有一個重構(gòu)菜單,提供函數(shù)提煉,變量或方法重命名等不少基礎(chǔ)的重構(gòu)功能。
Eclipse的半自動的重構(gòu)能減少人工重構(gòu)的錯誤,降低開發(fā)人員所耗費(fèi)的精力,這也是為什么一個我作為C/C++程序員越來越喜歡Eclipse的原因。
回到最開始的話題中,我覺得想罵娘的代碼無非有兩種,一種是難用,一種是難看。
代碼難用,這個問題比較深奧,本文沒有討論。
代碼難看,可以通過格式化使程序變得美觀,通過SourceMonitor識別代碼中的壞味道,利用Eclipse半自動重構(gòu)等方式使程序變得已讀。
我相信,通過這樣處理后的代碼至少看上去是不會再被罵了。
關(guān)于怎么善用SourceMonitor+Astyle讓代碼維護(hù)者不再罵娘問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。
標(biāo)題名稱:怎么善用SourceMonitor+Astyle讓代碼維護(hù)者不再罵娘
網(wǎng)頁URL:http://aaarwkj.com/article24/pdehce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、網(wǎng)站營銷、電子商務(wù)、品牌網(wǎng)站制作、軟件開發(fā)、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)