java命名規範及Android命名規範
阿新 • • 發佈:2018-11-28
寫了一些程式碼,越發覺得命名規範對開發有著重要的作用!所以這裡根據網上的建議,總結了一些命名規範。下面是整個文章的目錄(內容如有哪些不合理,望指出!)
- java命名規範:常用(包、類、介面、方法、變數、常量)參考文章:【點我】
- Android開發命名規範(基於java命名規範):參考文章:【點我】
- 四種程式設計命名規範(匈牙利命名法、駝峰式命名法、帕斯卡命名法、下劃線命名法)參考文章:【點我】
- 強制:略。參考連結:【點我】
java命名規範:常用(包、類、介面、方法、變數、常量)
包(packages): 採用反域名命名規則,全部使用小寫字母 。一級包名為地頂級域名如com,二級包名為xx(可以是公司或則個人的隨便),三級包名根據應用進行命名,四級包名為模組名或層級名; 如
- com.tinyx.myapp.activities;
類(Classes) 命名規則:類名是個一名詞,採用大小寫混合的方式,每個單詞的首字母大寫。儘量使你的類名簡潔而富於描述。使用完整單詞,避免縮寫詞(除非該縮寫詞被更廣泛使用,像URL,HTML)
- class Raster
- class ImageSprite
介面(Interfaces) 命名規則:大小寫規則與類名相似 interface RasterDelegate;
- interface RasterDelegate;
- interface Storing;
方法 (Methods) 方法名是一個動詞,採用大小寫混合的方式,第一個單詞的首字母小寫,其後單詞的首字母大寫。
- run()
- runFast()
- getBackground()
變數(Variables) 除了變數名外,所有例項,包括類,類常量,均採用大小寫混合的方式,第一個單詞的首字母小寫,其後單詞的首字母大寫。變數名不應以下劃線或美元符號開頭,儘管這在語法上是允許的。
變數名應簡短且富於描述。變數名的選用應該易於記憶,即,能夠指出其用途。儘量避免單個字元的變數名,除非是一次性的臨時變數。臨時變數通常被取名為i,j,k,m和n,它們一般用於整型;c,d,e,它們一般用於字元型。
- int i
- char c
- float myWidth
常量(Constants) 類常量和ANSI常量的宣告,應該全部大寫,單詞間用下劃線隔開。(儘量避免ANSI常量,容易引起錯誤)
- static final int MIN_WIDTH = 4;
- static final int MAX_WIDTH = 999;
- static final int GET_THE_CPU = 1;
Android開發命名規範(基於java命名規範)
包名
- 第一維度使用模組,第二維度是功能
- 包名一般要求小寫,並且儘量不出現下劃線等字元,值得注意的是,需要用英文來命名而不是中文。例如views,widge
- 一般是功能、模組的簡寫,能夠讓包名能夠一目瞭然,知道這個包裡面放的是什麼檔案。例如ui、activity等
類名(要求對類進行註釋!!!)
- java類的命名首字母要求大寫,採取駝峰式命名
- java類的命名要儘量一目瞭然,聞其名而知其意
- 如果是一般的介面(interface)檔案,則命名為Ixxx.java,
- 如果是監聽檔案的,一般是以On開頭,例如:OnGetCityDataListener.java
java變數、方法等的命名(並且儘可能的給函式方法進行註釋說明)
- 設定全域性變數和靜態變數以m、s開頭
資原始檔命名規範的重要性
- 資原始檔命名以小寫字母+下劃線組成,名字不怕長就怕太簡略,要儘可能一眼能看出該資原始檔是用來幹什麼的,我改怎麼去找到這個檔案?鑑於Android開發肯定會存在很多很多的資源,所以最好能夠一個一個模組的放好、並且有明顯的命名去命名,方便自己也方便他人在二次開發、bug修復和後續迭代等操作中能夠更快的定位到。這個步驟很繁瑣,要做好不簡單,見微知著,細心耐心!
四種程式設計命名規範
匈牙利命名:開頭字母用變數型別的縮寫,其餘部分用變數的英文或英文的縮寫,要求單詞第一個字母大寫。
- int iMyAge; “i”是int型別的縮寫;
- char cMyName[10]; “c”是char型別的縮寫;
- float fManHeight; “f”是float型別的縮寫;
- 更多
駝峰式命名法:(又叫小駝峰式命名法)第一個單詞首字母小寫,後面其他單詞首字母大寫。
- int myAge;
- char myName[10];
- float manHeight;
帕斯卡命名(又叫大駝峰式命名法)每個單詞的第一個字母都大寫。
- int MyAge;
- char MyName[10];
- float ManHeight;
下劃線命名法單詞與單詞間用下劃線做間隔
- foo_bar