關於這個問題,應該很多人都有這個疑問,命名規範項目裏用的都是駝峯命名規則,但是之前看項目代碼裏安卓的變量很多前面會帶個m,剛開始敲安卓代碼的時候我看別人都這麼寫,我也就這麼寫了,一直到現在。
今天想知道一下爲什麼這麼寫,因爲看安卓源碼中,有的變量帶m,有的變量不帶m,終於在stack overflow上找到了答案,鏈接如下,Android變量前命名加m
Follow field naming conventions
- Non-public, non-static field names start with m
- Static field names start with s.
- Other fields start with a lower case letter.
- Public static final fields (constants) are ALL_CAPS_WITH_UNDERSCORES.
翻譯一下:
非公共,非靜態字段名稱以m開頭。
靜態變量以s開頭。
其他字段以小寫字母開頭。
靜態變量最終字段(常量)全大寫。
谷歌官方給出的代碼例子:
public class MyClass {
public static final int SOME_CONSTANT = 42;
public int publicField;
private static MyClass sSingleton;
int mPackagePrivate;
private int mPrivate;
protected int mProtected;
}
附錄:安卓開發源代碼編寫規則:
https://source.android.com/setup/contribute/code-style