Java/Android開發規範——變量和常量命名

變量的命名git

主要的的命名規範有如下三種:數組

  • Camel 標記法:首字母是小寫的,接下來的單詞都以大寫字母開頭。
    • Pascal 標記法:首字母是大寫的,接下來的單詞都以大寫字母開頭。
      • 匈牙利標記法:在以Pascal標記法的變量前附加小寫序列說明該變量的類型。

 

  在Java咱們通常使用匈牙利標記法,基本結構爲scope_typeVariableName,它使用1-3字符前綴來表示數據類型,3個字符的前綴必須小寫,前綴後面是由表意性強的一個單詞或多個單詞組成的名字,並且每一個單詞的首寫字母大寫,其它字母小寫,這樣保證了對變量名可以進行正確的斷句。ide

  例如,定義一個整形變量,用來記錄文檔數量:post

  intDocCount,其中int代表數據類型,後面爲表意的英文名,每一個單詞首字母大寫。這樣,在一個變量名就能夠反映出變量類型和變量所存儲的值的意義兩方面內容,這使得代碼語句可讀性強、更加容易理解。 byte、short、char、int、long、float、 double、boolean。spa

數據類型/前綴(附)code

  對於在多個方法內都要使用的全局變量,在前面再增長「g_」。例如一個全局的字符串變量:g_strUserInfo。
xml

在變量命名時要注意如下幾點:blog

  • 選擇有意義的名字,注意每一個單詞首字母要大寫。
  • 在一段方法中不使用同一個變量表示先後意義不一樣的兩個數值。
  • i、j、k等只做爲小型循環的循環索引變量。
  • 集合、數組 應該從命名中體現其複數的含義,例如加後綴s或前綴some,名字要有意義。
  • 臨時變量一般被取名爲ijkn,它們通常用於整型;cde,它們通常用於字符型。
  • 避免用Flag來命名狀態變量
  • 用Is來命名邏輯變量,如:blnFileIsFound。經過這種給布爾變量確定形式的命名方式,使得其它開發人員可以更爲清楚的理解布爾變量所表明的意義。
  • 若是須要的話,在變量最後附加計算限定詞,如:curSalesSum。
  • 命名不相包含,curSales和curSalesSum。
  • static final 變量(常量)的名字應該都大寫,而且指出完整含義
  • 若是須要對變量名進行縮寫時,必定要注意整個代碼中縮寫規則的一致性。例如,若是在代碼的某些區域中使用intCnt,而在另外一些區域中又使用intCount,就會給代碼增長沒必要要的複雜性。建議變量名中儘可能不要出現縮寫
  • 經過在結尾處放置一個量詞,就可建立更加統一的變量,它們更容易理解,也更容易搜索。例如,請使用 strCustomerFirst和strCustomerLast,而不要使用strFirstCustomer和strLastCustomer。經常使用的量詞後綴有:First(一組變量中的第一個)、Last(一組變量中的最後一個)、Next(一組變量中的下一個變量)、Prev(一組變量中的上 一個)、Cur(一組變量中的當前變量)。
  • 爲每一個變量選擇最佳的數據類型,這樣即能減小對內存的需求量,加快代碼的執行速度,又會下降出錯的可能性。用於變量的數據類型可能會影響該變量進行計算所產生的結果。在這種狀況下,編譯器不會產生運行期錯誤,它只是迫使該值符合數據類型的要求。這類問題極難查找。
  • 儘可能縮小變量的做用域。若是變量的做用域大於它應有的範圍,變量可繼續存在,而且在再也不須要該變量後的很長時間內仍然佔用資源。它們的主要問題是,任何類 中的任何方法都能對它們進行修改,而且很難跟蹤到底是何處進行修改的。佔用資源是做用域涉及的一個重要問題。對變量來講,儘可能縮小做用域將會對應用程序的 可靠性產生巨大的影響。

  關於常量的命名方法,在JAVA代碼中,不管何時,均提倡應用常量取代數字、固定字符串。也就是 說,程序中除0,1之外,儘可能不該該出現其餘數字。常量能夠集中在程序開始部分定義或者更寬的做用域內,名字應該都使用大寫字母,而且指出該常量完整含義。若是一個常量名稱由多個單詞組成,則應該用下劃線「_」來分割這些單詞如:NUM_DAYS_IN_WEEK、MAX_VALUE索引

 

 (Field)命名內存

  1. 非公有、非靜態字段命名以m開頭。
  2. 靜態域命名以s開頭。
  3. 公有字段以小寫字母開頭。
  4. public static final 字段(常量) 所有大寫,並用下劃線連起來。

例子:

 1 public class MyClass  {  
 2 
 3     public static final int SOME_CONSTANT = 42;  
 4 
 5     public int publicField;  
 6 
 7     private static MyClass sSingleton;  
 8 
 9     int mPackagePrivate;  
10 
11     private int mPrivate;  
12 
13     protected int mProtected;  
14 
15   }

 

文件命名規範

res/layout目錄下文件:

  統一用小寫和下劃線"_"組合命名,建議xml文件加個前綴以便區分,如對話框的xml配置文件:dlg_name.xml

res/drawable目錄下文件:

  統一用小寫加下劃線「_」組合命名,同上,每一個資源文件最好加個前綴以便區分,如:btn_submit_default.png,btn_ submit_pressed.png,btn_ submit.xml;

 

Control Name Shutcut
TextView txt
Button btn
LinkButton lnkbtn
ImageButton imgbtn
ListBox lst
CheckBox chk
RadioButton rdobtn
ImageView imgView
AnalogClock  
DigitalClock dc
DatePicker dp
TimePicker tp
ToggleButton tgBtn
EditText edt
ProgressBar proBar
SeekBar sekBar
AutoCompleteTextView  
MultiAutoCompleteTextView  
ZoomControls zc
Include  
VideoView vdoView
WebView  
RatingBar ratBar
Tab tab
Spinner spn
Chronometer  
ScrollView  
TextSwitcher txtSw
ListView lstView
Gallery  
ImageSwitcher  
GridView gv
ExpandableList  
 

評分

相關文章
相關標籤/搜索