剛接觸Android的時候,命名都是按照拼音來,所以有的時候想看懂命名的那個控件什么是什么用的,就要讀一遍甚至好幾遍才知道,這樣的話,在代碼的審查和修改過程中就會浪費不少不必要的時間。
如果就是我一個人開發,一個人維護的話還好,可是如果一個項目是團隊分工合作,這樣讓你的同事去看你的代碼就更加吃力了,因為大家之間的編程方式不一樣,所以,在開發過程中,命名規范統一尤為重要,最好是團隊中統一好大家命名方法,這樣對于日后的工作會輕松很多。
在面試的時候,審核一個程序員的編程水平的時候,命名規范也是一大標準,所以,下面我就總結下我從網上別人的經驗和自己的感悟中收集總結的android命名規范,希望對大家有所幫助。
提醒:在命名規范的統一下,再加上注釋,這樣日后維護會高效快捷好多
包名采用域后綴倒置的加上自定義的包名,采用小寫字母。包名使用產品的名稱加上模塊的名稱。
格式:
com.ruen.產品名.模塊名稱
示例:
體檢報告action類 import com.ruen.health.action.ExamReportAction;
用戶信息實體類 import com.ruen.health.bean.UserInfo;類名和接口使用類意義完整的英文描述,每個英文單詞的首字母使用大寫、其余字母使用小寫的大小寫混合法。
示例:OrderInformation, CustomerList, LogManager, LogConfig方法名使用類意義完整的英文描述:第一個單詞的字母使用小寫、剩余單詞首字母大寫其余字母小寫的大小寫混合法。
示例:
private void calculateRate();
public void addNewOrder();
- 屬性名使用意義完整的英文描述:第一個單詞的字母使用小寫、剩余單詞首字母大寫其余字母小寫的大小寫混合法。屬性名不能與方法名相同。
示例:
private customerName;
private orderNumber;
private smpSession;
- 常量名使用全大寫的英文描述,英文單詞之間用下劃線分隔開,并且使用 final static 修飾。
示例:
public final static int MAX_VALUE = 1000;
public final static String DEFAULT_START_DATE = "2001-12-08";
- 屬性名可以和公有方法參數相同,不能和局部變量相同,引用靜態成員變量時使用類名引用。
示例:
public class Person
{
private String name;
private static List properties;
public void setName (String val)
{
name = val;
}
public void setProperties (List val)
{
Person.properties = val;
}
}
建議
常用組件類的命名以組件名加上組件類型名結尾。
示例:
Action類型的,命名以Action結尾——ExamReportAction
Application 類型的,命名以App 結尾——MainApp
Frame 類型的,命名以Frame 結尾——TopoFrame
Panel 類型的,建議命名以Panel 結尾——CreateCircuitPanel
Bean 類型的,建議命名以Bean 結尾——DataAccessBean
EJB 類型的,建議命名以EJB 結尾——DBProxyEJB
Applet 類型的,建議命名以Applet 結尾——PictureShowApplet如果函數名超過15 個字母,可采用以去掉元音字母的方法或者以行業內約定俗成的縮寫方式縮寫函數名。
示例:getCustomerInformation() 改為 getCustomerInfo()準確地確定成員函數的存取控制符號,不是必須使用 public 屬性的,請使用 protected,不是必須使用 protected, 請使用 private。
示例:protected void setUserName(), private void calculateRate()