手把手教你規范自己的代碼
每個人都有自己的編碼風格,但如果要和別人協同開發軟件,最好是采用一樣的風格,可是強行要求他人更改編碼風格可能會比較難,那么有沒有更好的解決方式呢?
當然有,在軟件的世界中,有需求就會有解決方案,畢竟大神那么多。
格式化 C、C++ 代碼有一個好用的工具:clang_format。
clang_format 支持多種代碼風格:Google, Chromium, LLVM, Mozilla, WebKit,也支持自定義風格(通過編寫.clang-format文件),很方便的統一代碼格式。
Linux下安裝Clang-format :
- sudo apt-get install clang-format
具體的使用大家可以百度,很簡單,肯定比我講的全。
另外,推薦使用 VSCode 的 C/C++ 插件,自帶了 Clang-Format 格式化工具,不僅擁有上述 5 種排版格式,還定義了自己的 Visual Studio 排版格式,且此格式是默認的排版格式(Ubuntu下格式化快捷鍵:Ctrl+Shift+I,Windows下格式化快捷鍵:Shift+Alt+F)。
格式化前:
安裝了C/C++ 插件后,鼠標右鍵,選擇格式化文檔。
格式化后:
C、C++ 代碼可以使用 clang_format 格式化,java 代碼呢?不用擔心,Android Studio 有內置的格式化代碼的工具,不需要自己安裝插件和工具。
選中文件,右鍵,選擇Reformat Code,即可將我們的 java 代碼格式化成谷歌的代碼風格。
通過以上的方式,我們完成了代碼風格的格式化,包括大括號小括號位置、換行設置等。那下一步,就是規范我們的命名。
C、C++ 和 java 的命名方式有很大的不同,C語言:
Linux 編碼風格總結
Android 有自己的命名風格,包括局部變量、靜態變量、類名、包名、接口、try - catch 閉包規定等,都有很大的不同。
在Linux 中喜歡用下劃線分割,在 Android 中需要遵循駝峰原則,具體的Android 中 java 編碼命名規定,參考如下鏈接:
https://www.jianshu.com/p/0a984f999592
Android 命名規范舉例:
非常量字段名以 LowerCamelCase 風格的基礎上改造為如下風格:
基本結構為 scopeVariableNameType。
- scope:范圍
- 非公有,非靜態字段命名以m開頭。
- 靜態字段命名以s開頭。
- 公有非靜態字段命名以p開頭。
- 公有靜態字段(全局變量)命名以g開頭。
- public static final 字段(常量) 全部大寫,并用下劃線連起來。
- public class MyClass {
- public static final int SOME_CONSTANT = 42;
- public int pField;
- private static MyClass sSingleton;
- int mPackagePrivate;
- private int mPrivate;
- protected int mProtected;
- public static int gField;
- }
希望我們實現功能的同時,能夠擁有一個好的編碼風格,這樣別人看我們的代碼會感覺很舒服,像欣賞一個藝術品。
本文轉載自微信公眾號「嵌入式Linux系統開發」