Android命名規范

命名規范

  • 駝峰命名法:又稱小駝峰命名法。除了首個單詞首字母小寫除外,其余所有單詞所有首字母都要大寫

  • 帕斯卡命名法:又稱大駝峰命名法。所有單詞首字母大寫

1、包的命名規范

建議采用如下規則:【com】.【公司名/組織名】.【項目名稱】.【模塊名】

常見的包分層結構如下:

  • com.xxx.xxx.view –> 自定義view 或者是View接口

  • com.xxx.xxx.activities –> activity類

  • com.xxx.xxx.fragments –> fragment類

  • com.xxx.xxx.adapter –> 適配器相關

  • com.xxx.xxx.utils –> 公共工具類

  • com.xxx.xxx.bean –> 實體類

  • com.xxx.xxx.service –> service服務

  • com.xxx.xxx.broadcast –> 廣播接收器

  • com.xxx.xxx.db –> 數據庫操作類

  • com.xxx.xxx.persenter –> 中間對象

  • com.xxx.xxx.model –> 數據處理類

2、類的命名規范

Android中類的命名與JAVA開發采用一致的規范即可。

  • Activity –> xxxActivity.java

  • Application –> xxxApp.java

  • Fragment –> xxxFragment.java

  • Service –> xxxService.java

  • BroadcastReceiver –> xxxBroReceiver.java

  • ContentProvider –> xxxProvider.java

  • Adapter –> xxxAdapter.java

  • Handler –> xxxHandler.java

  • 接口 –> xxxInterface.java

  • 接口實現類 –> xxxImpl.java

  • Persenter –> xxxPersenter.java

  • 公共父類 –> BaseActivity.java、BaseFragment.java、- BaseAdapter.java等

  • util類 –> LogUtil.java

  • 數據庫類 –> BaseSQLiteDBHelper.java

3、變量的命名規范

控件命 xml文件對應id java文件對應全局變量
LinearLayout lay_ xxx mLayLogin
RelativeLayout lay_ xxxt mLayLogin
FrameLayout lay_ xxx mLayLogin
ScrollView scv_xxx mScrollView
Button btn_xxx mBtnLogin
ImageView iv_xxxt mIvLogin
TextView tv_xxx mTvUserName
EditText et_xxx mEtUserName
CheckBox cb_xxx mCbSlect
RadioGroup rg_xxx mRg
RadioButton rb_xxx mRb
Spinner spr_xxx mSpineer
GridView gv_xxx mGriView
ListView lv_xxx mListView
RecycleView cv_xxx mRecycleView

3.1成員變量

/** 
     * 成員變量命名以m開頭 
     */  
    private Context mContext = null;  

    private boolean mEatKeyUpEvent;

    private Resources mResources;
   
    /** 
     * 靜態變量命名以s開頭 
     */  
    private static String sTag = null;  

3.2 函數方法的命名
函數方法的命名一般是多個動詞+名詞組合,同樣使用駝峰式命名,方法名首字母小寫,要求命名能夠描述出該方法的作用,并且盡可能的給函數方法進行注釋說明

initXxx():初始化相關方法,使用init-作為前綴,例如:初始化布局initView();

isXxx():isXxxx()或者checkXxx()返回值為指定類型,使用is-或者check-為前綴;

getXxx():返回某種類型的值,使用get-為前綴;

processXxx():對數據進行處理,以process-為前綴;

displayXxx():彈出提示框或提示信息,以display-為前綴;

saveXxx():保存數據相關的方法,以save-為前綴;

resetXxx():對數據重置,或者是界面重置,使用reset-為前綴;

clearXxx():清除操作相關,使用clear-為前綴;

drawXxx():繪制數據或效果相關,使用draw-為前綴。

4、資源文件命名規范

4.0 anim目錄命名規范

  • fade_in.xml

  • fade_out.xml

  • slide_in_from_left.xml

  • slide_in_from_top.xml

4.1 layout目錄命名規范

  • activity_xxx.xml

  • frament_xxx.xml

  • item_xxx.xml

4.2 drawable目錄命名規范

全部單詞小寫,單詞之間采用下劃線分割。

  • 圖標 – > ic_xxx.png –> ic_logo.png

  • 背景圖 –> bg_xxx.jpg –> bg_splash.jpg

  • selector –> selector_login_btn.xml

  • shape –> shape_login_btn.xml

  • 圖片狀態 –> bg_login_btn_pressed.jpg & - bg_login_btn_unpressed.jpg

4.3 menu目錄命名規范

  • menu_main.xml

4.4 value目錄命名規范

  • 4.4.1 color.xml命名標準

顏色命名標準為color_顏色色值

    <color name="color_FFFFFF">#FFFFFF</color>
  • 4.4.2 string.xml命名標準
    1. 在命名的時候,最好能以一個 xxxx start 開頭 然后以 xxxx end 結束,表明一個模塊的資源文件的區塊  
    2. 同個模塊的資源文件,最好能以一個統一的前綴,然后再加以后面的詳細描述,這樣比較能清晰而且也能減少出現類似資源文件的混淆  
    3. 盡量多的在名字里表明用處,多點解釋能夠更好的讓其他人明白你的用途,總比別人去猜或者一定要進來看你的資源文件然后去理解好的多吧  

    <!-- 網絡錯誤提示 start -->  
    <string name="network_tips_error">哎呀,網絡有點問題</string>  
    <string name="network_tips_im_error">當前網絡不可用,請檢查你的網絡設置</string>  
    <string name="network_tips_unknown_error">未知錯誤</string>  
    <!-- 網絡錯誤提示 end-->  


     <!-- tabhost欄標題 start -->  
    <string name="tabhost_title_home">首頁</string>  
    <string name="tabhost_title_discovery">精選</string>  
    <string name="tabhost_title_appointment">預約</string>  
    <string name="tabhost_title_my">我的</string>  
    <!-- tabhost欄標題 end -->  

     <!-- 頁面標題 start -->  
    <string name="page_title_index">首頁</string>  
    <string name="page_title_appointment">預約</string>  
    <string name="page_title_my_wallet">我的錢包</string>     
    <string name="page_title_my_artisan_detail">技師詳情</string>  
    <string name="page_title_my_product_detail">作品詳情</string>  
    <!-- 頁面標題 end -->  
  • 4.4.3 styles.xml命名標準

      1. 如果是有存在父子關系的,可以將這幾個樣式放在附近一起,并且命名以同樣的前綴命名  
      2. 其他的參考string文件的命名  
      3. 為什么這里不需要start和end?因為string是單標簽的,基本上所有的都是以<string></string>來定義,而style文件一個區塊已經用<style></style>來幫助分區塊了,所以可以不用start和end來幫助標記。  
    
       <!-- 訂單確認頁的textview樣式 -->  
      <style name="order_submit_text_style">  
          <item name="android:layout_width">match_parent</item>  
          <item name="android:layout_height">48dp</item>  
          <item name="android:textColor">@color/Black</item>  
          <item name="android:textSize">14sp</item>  
          <item name="android:paddingLeft">15dp</item>  
          <item name="android:layout_marginLeft">8dp</item>  
          <item name="android:layout_marginRight">8dp</item>  
      </style> 
    

5、編碼規范

  • 代碼中盡量不要出現中文。注釋和除外。代碼中通過strings.xml引用來顯示中文。

  • 控件聲明放在activity級別,這樣在activity其他地方可以使用。

  • 在一個View.OnClickListener中處理所有的點擊事件邏輯,這樣看起來很集中和直觀。

  • strings.xml中使用%1sd等實現字符串的通配。

  • 布局文件中的字體大小,都定義在dimens.xml中。

  • 有關margin和padding的值也都放在dimens.xml中。

  • 界面之間傳值盡量使用intent方式。少用全局變量。

  • 不建議在布局文件中添加點擊事件。

  • 數據類型轉換一定要校驗。

  • 使用常量代替枚舉。

  • 實體不要在不同模塊間共享,但是可以在統一模塊下的不同頁面共享。

  • 建議采用左括號與方法名稱在同一行的代碼格式來進行代碼的編寫和格式化。貌似左括號在下一行是C#的形式。

  • 業務稍微復雜一些,都有可能提煉一個BaseActivity或BaseFragment出來做為公共父類。

  • 類注釋一定要寫,管家的方法也要寫方法注釋。常量盡量寫注釋。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 命名規范 1. 包命名 規則:包名全部小寫,采用反域名命名規則,一級包名是頂級域名,通常為com, edu, go...
    聶順閱讀 885評論 0 2
  • 序:團隊開發有一套自己的命名規范,方便大家review和code,今天我總結一下,后面有需要用到的,可以直接按這套...
    tomatozheng閱讀 2,393評論 0 1
  • 無論是哪種編程語言的學習,我們的命名都要有一定的規范才能更好的進行團隊協作,更好的進行代碼的的二次開發。所以在這里...
    李慶文閱讀 678評論 2 3
  • Android開發代碼規范相關系列文章: Android命名規范 Android編碼規范 俗話說:無規矩不成方圓,...
    looper1211閱讀 1,303評論 1 4
  • 溫故而知新,系統整理一下。 1. 圖片的三級緩存 1.1 什么是三級緩存? 1.2 如何應用三級緩存? 2. 大圖...
    小學生的博客閱讀 2,068評論 0 3