您好,登錄后才能下訂單哦!
怎么善用SourceMonitor+Astyle讓代碼維護者不再罵娘,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
什么樣的代碼最想讓你罵娘,是這樣的,代碼層層嵌套
或者是這樣的密密麻麻,舍不得多一行免費空格
又或者是那種又臭又長的代碼呢?
代碼除了用來運行外,還有很重要的就是閱讀,給自己閱讀,或者給他人閱讀,如果幾個月后你自己都看不下去自己以前寫的代碼,呵呵…
愛美之心,人皆有之。漂亮的代碼,也是我們程序猿的追求,它不僅能夠完成要求的功能,而且還要整齊,有條理,易于理解。
漂亮的代碼能夠增強可讀性,同時也減弱了出錯的概率。最關鍵的一點,漂亮的代碼不會被罵娘。
具體來說,漂亮的代碼通常:
1. 代碼縮進
2. 分支語句嵌套的層數較少
3. 每個函數的代碼行數不會太多
4. 變量的命名有統一的風格
5. 文件命名有統一的風格
6. 注釋有統一的風格
如此等等,這些都是實踐中總結出來的結晶。也許你也注意到了,這些東西不就是編程規范嗎?確實是如此。為了寫出漂亮的代碼,很多公司都會有自己的編程規范。
某些公司,還會對編程規范進行考試,足見其重視程度。
作為一個狂放不羈的男子,我寫代碼從來不回頭,怎么可能管你什么代碼風格。尤其個人偏愛Linux,代碼風格也是Linux的。對于一些非Linux代碼風格的項目來說,在寫完代碼后,難道讓我對著編程規范將函數內的大括號一個一個單獨一行?
我需要一鍵格式化,就讓我的代碼風格由Linux變成GNU風格,變成JAVA風格。在我不高興的時候,還能瞬間變回來。
我需要的就是 AStyle –支持”魔法換膚”,一鍵變換代碼風格,堪稱編碼界的美圖秀秀。
AStyle(Artistic style),可以集成到Eclipse,VS,SourceInsight等工具中,對代碼進行格式化、規范風格。AStyle默認支持Linux,ANSI,GNU,JAVA等風格,也支持自定義風格。
當不同編碼風格的程序員為一個項目共同貢獻代碼時,特別項目周期緊張時期,經常會出現各式各樣的代碼導致極低的可讀性和可維護性。這個時候AStyle就能很好的解決這個問題。
對于我這樣的懶人來說,不用去管代碼縮進,將精力花在更重要的地方,就是一種減負。
解決了代碼風格后,是否就可以算做漂亮的代碼了呢?
要知道再漂亮的衣服穿到胖子身上,也漂亮不到哪去(阿門,原諒我吧)。對于代碼來說,符合代碼風格只是第一步,漂亮的代碼還要易于理解。讓人容易理解的話,單個函數的代碼行就不能太長,嵌套層數就不能太多,分支條件判斷不能太多。這些工作不是代碼風格能解決的。我們需要能夠自動檢查代碼質量的工具-SourceMonitor。
SourceMonitor是一款代碼質量檢查的軟件。能夠檢查文件中函數的個數,每個函數的代碼行數,注釋比例,函數的調用深度,圈復雜度等。
其中需要最關鍵的是每個函數圈復雜度和每個函數的代碼行數。圈復雜度是指函數中可獨立執行的路徑,因此函數中每出現一次if/else/while,switch/case/break等,圈復雜度就加1.圈復雜度越高,說明函數中可執行的路徑越多,也就越復雜。超過一定值如(15或者10)以后就要考慮能否將函數重構了。此外一個函數的代碼行數如果太長,不能一屏顯示的話,不容易讓人記住和理解,也需要對該函數進行提煉。
利用SourceMonitor找出需要重構或提煉的函數后,難道又要我手工重構嗎,有沒有重構的工具呢?全自動的目前還沒見過,如果有同學見到,請留言。相比來說,半自動的重構工具還是比較多的,Eclipse中就有一個重構菜單,提供函數提煉,變量或方法重命名等不少基礎的重構功能。
Eclipse的半自動的重構能減少人工重構的錯誤,降低開發人員所耗費的精力,這也是為什么一個我作為C/C++程序員越來越喜歡Eclipse的原因。
回到最開始的話題中,我覺得想罵娘的代碼無非有兩種,一種是難用,一種是難看。
代碼難用,這個問題比較深奧,本文沒有討論。
代碼難看,可以通過格式化使程序變得美觀,通過SourceMonitor識別代碼中的壞味道,利用Eclipse半自動重構等方式使程序變得已讀。
我相信,通過這樣處理后的代碼至少看上去是不會再被罵了。
關于怎么善用SourceMonitor+Astyle讓代碼維護者不再罵娘問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。