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