當前位置:
首頁 > 最新 > Java 代碼規範,你應該知道的一些工具和用法

Java 代碼規範,你應該知道的一些工具和用法

從事編程這個行業,你一定被別人說過或者說過別人這句話:代碼要規範!求職面試時也能從 JD 上看到這個要求:要有良好的編程習慣。其實都是在講代碼規範(Code Style)這件事情。

每個人都有自己的編程習慣,比如你喜歡 2 個空格數量的行前縮進,而他喜歡 4 個空格數量的行前縮進;你喜歡左大括弧位於行尾出,而他喜歡另起一行。等等,這些習慣都沒有孰優孰劣之分,只是每個人長期以往形成的個人編程愛好而已。當你獨立開發一個項目時,談不上代碼規範,按照你個人的編程習慣即可。但是,如果是多人協作、共同開發一個項目,如果沒有統一的代碼規範的話,項目中的每個人都按照自己的習慣率性而為,就會導致整個項目的代碼看上去雜亂無章,可讀性非常差,並且持續增加後續的維護成本。所以,在團隊協作時,常常會涉及到代碼規範。通常,一個公司也會擁有一份統一的代碼規範。事實上,根據經驗,使用代碼規範在一定程度上還能減少 BUG 數量,降低錯誤率。本篇文章,我們就來講講如何在 Android 項目中使用代碼規範,主要是 Java 語言的代碼規範。

Code Style

代碼規範也是因人而異的,或者說因公司而異。之前,我工作的公司,有領導專門使用 word 文檔編寫一份代碼規範,然後同事們仔細閱讀,謹記於心,在 Coding 時多加註意。事實上,可以利用 IDE 將代碼規範文件配置其中。這樣,可以減少大部分憑藉記憶解決的難題,實現自動化規範。關於代碼規範文件,一些知名互聯網公司也公開有各自的代碼規範,這些都是我們可以直接借鑒、拿來使用的優秀資源,當然你也可以再根據自己的情況作出修改。比較出名的有:Google Style GuidesSquare Java Style這裡我們拿 Google 公司提供的 Java 語言代碼規範為例,簡單描述一下如何使用 Android Studio 配置 Code Style。首先下載 intellij IDE 對應的配置文件到本地電腦上:intellij-java-google-style.xml該文件內容都是一些 xml 配置,這裡不妨截取一部分看看:

......

打開 Android Studio,在Preferences界面中找到Code Style菜單,選擇Java語言,點擊Manage按鈕,Import前面下載好的 xml 配置文件。然後在Scheme下拉列表中便可以看到 GoogleStyle 選項,切換即可:之後,在 Coding 過程中,使用一些快捷鍵操作,比如格式化、TAB 鍵等,就會自動按照這份代碼規範執行。當然,你也可以修改這份代碼規範,前提是你要知道該規範的內容意義。關於這個,Google 也提供有一份在線文檔,可供參考:Google Java Style Guide

代碼格式化

有了代碼規範,便可以直接使用快捷鍵格式化當前文件的代碼,Mac 上默認快捷鍵為:Option + Command + L你也可以直接選擇整個項目或某個目錄,右鍵點擊Reformat Code選項,批量格式化。當然,還可以下載 Google 提供的格式化 Jar 包,使用命令行工具對指定文件進行格式化操作。GitHub 地址為:google-java-format舉個例子,批量格式化當前目錄下的所有 Java 文件(實際使用時注意修改 jar 文件目錄):

find . -name"*.java"-exec java -jar ~/tools/google-java-format-1.3-all-deps.jar -r{};

Check Style

有了代碼規範和格式化操作,雖然一定程度上能夠藉助 IDE 規範化我們的代碼,但是有些部分還是不能完全約束開發人員。比如,變數命名,你還是可以隨意命名;每行代碼字元個數你也可以隨意書寫。這些主觀人為的操作,遵守不遵守規範,還是在於你個人。那麼,有沒有一種辦法檢查你寫完的代碼是否符合某些規範要求呢?答案是肯定的。CheckStyle,自動幫你檢查代碼是否符合規範的一種插件化工具。CheckStyle 工具可以幫助你檢查 Javadoc 注視文檔是否符合規範(比如首行必須以英文句號結束),變數、函數等命名是否符合給定正則表達式,括弧、大括弧前後留白是否符合規範,等等,這些規範要求都是可以在 xml 文件中自由約定設置的。CheckStyle 的 GitHub 下載地址為:https://github.com/checkstyle/checkstyle也可以使用 Android Studio 在線安裝的方式搜索安裝:

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 安卓筆記俠 的精彩文章:

TAG:安卓筆記俠 |

您可能感興趣

cURL與wget:你應該選用哪一個?
這才是 visvim 應該有的樣子
蘋果 CEO:Facebook 應該規範自己的行為
石原里美的《Unnatural》告訴你,合格的職業劇應該怎麼拍
實測數據話你知,一台好的DSP專用功放應該是怎樣?
除了太平鳥,你還應該知道的Made in China
除了太平鳥,你還應該知道的 Made in China
真正的雷蛇粉,應該擁有一台 Razer Phone
關於潮牌,你不應該只知道Supreme!
除了買 Supreme,你還應該知道點別的…
除了買 Supreme ,你還應該知道點別的…
型男標杆應該像Sebastian Stan一樣
真閨蜜就應該像楊冪Angelababy一樣,一起互懟一起變美
只知道AlexanderWang?你還應該知道這位紅透歐美的時尚大叔
現在的iPhone 6s plus還值得買嗎?這些選擇機會你應該知道!
做無人駕駛應該遵循長板理論?Pony.ai卻認為這恰恰是圈內最大的錯誤
做無人駕駛應該遵循長板理論?Pony .ai:這是圈內最大的錯誤
作為廣告人,你應該知道Facebook是不是真的被Cambridge Analytica耍了
為什麼不應該使用Markdown來寫文檔
歐萊雅收購 AR 應用供應商 ModiFace,旗下品牌的數字化體驗功能應該不遠了