Android命名規范

Android開發代碼規范相關系列文章:

  1. Android命名規范
  2. Android編碼規范

俗話說:無規矩不成方圓,一個項目應該有統一的命名規范,開發者也應該有良好的編碼規范,命名規范有以下幾點要求:

  • 不能反人類。 曾經見過有個人對Activity這樣的命名:
PersonActivityAddCustomer.java

就是以“模塊名+Activity+頁面名”的命名方式,簡直就是奇葩,嚴重懷疑這個人的人生觀、價值觀和審美觀。

  • 其次,要望文而知義,清晰準確,比如登陸頁面的登陸按鈕,命名就不能像Button1這樣隨心所欲,要類似于login_button(資源文件)或者btnLogin(java代碼的按鈕實例)這樣的名稱。
  • 此外,遇到MyTextView之類的命名,直接把創建該文件的同學拉出去打100大板,而且要肚皮朝上的那種打法

下面結合個人開發經驗,說點具體規則

1. java類命名規范

  • Activity:以Activity作為后綴,比如PersonActivity
  • Adapter:以Adapter作為后綴,比如PersonAdapter
  • Entity:大多數以Entity作為后綴,比如PersonEntity,需要注意,在App開發時會一定一個全局變量User,這個不算做實體,不受此約束。

2. layout目錄下的文件命名規范

  • 頁面布局文件。以act_為前綴,以Activity所在Package作為中綴,以Activity的名稱(去掉Activity后綴)作為后綴,注意都是小寫。例如,對于Person模塊下的AddCustomerActivity,它的layout文件應該是act_person_addcustomer.xml
  • ListView中的item布局文件。以item_作為固定前綴,列表項的名稱為后綴。注意都是小寫,例如,某個頁面下面有一個用戶列表,控件名稱為lvUserList,那么item的laout就應該是:item_lv_userlist.xml
  • Dialog布局文件。以dlg_作為固定前綴,Dialog的功能名稱作為后綴。注意都是小寫,例如,dlg_hint.xml

3. drawable目錄下的命名規范。
drawable目錄下的資源,大部分都是圖片,此外還有一部分xml文件,用于Selector。但無論圖片,亦或是Selector文件,都應該遵守以下命名規范

  • 對于只在一個頁面使用的資源,就以該頁面的名稱作為前綴
  • 對于只在一個模塊下多個頁面使用的資源,就以該模塊的名稱作為前綴
  • 對于在各個模塊、各個頁面都有可能是使用的資源,比如說上導航、下導航,就以common作為前綴

4. Java類控件對象的命名規范

控件類縮寫+控件的邏輯名稱(首字母大寫),比如登錄按鈕,可以命名為btnLogin,下圖列出了一些常用控件的縮寫

常用控件縮寫

5. Layout中控件的命名規范

  • 可以與Activity中相對應的控件名稱保持一致,這樣的好處是可以迅速copy-paste出以下代碼而杜絕任何的潛在錯誤。
    但是這樣做和傳統的Android命名規范就不一致了,至少違反了2條原則,不應該有大寫,btn和Login之間沒有用下劃線進行連接。
Button btnLogin = (Button)findViewById(R.id.btnLogin);
  • 建議寫法:控件的功能名稱+下劃線+控件類名稱,注意全部小寫,例如登陸按鈕,可以命名為login_button

其實兩種寫法都可以,但必須在項目中做到統一,不要混用,別反人類就行。

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

推薦閱讀更多精彩內容

  • 無論是哪種編程語言的學習,我們的命名都要有一定的規范才能更好的進行團隊協作,更好的進行代碼的的二次開發。所以在這里...
    李慶文閱讀 678評論 2 3
  • 前言 大家或許都有接手過別人的代碼,最大的共同感悟就是:這代碼寫得真爛!!命令混亂、文件隨意存放,xml文件中夾帶...
    dean550閱讀 558評論 0 3
  • 命名規范 1. 包命名 規則:包名全部小寫,采用反域名命名規則,一級包名是頂級域名,通常為com, edu, go...
    聶順閱讀 885評論 0 2
  • 序:團隊開發有一套自己的命名規范,方便大家review和code,今天我總結一下,后面有需要用到的,可以直接按這套...
    tomatozheng閱讀 2,393評論 0 1
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,284評論 25 708