標籤:list getter 團隊 androi 添加 conf www ttext das
項目中直接匯入Square的代碼風格檔案。(不匯入Google的原因是Square同時提供了Java和Android兩套統一風格,Google只提供了一套)
Square Code Styles
Goolge Code Styles
匯入後會有很多好處,如注釋正常化,import規範,方法排序,統一自動斷行(PC螢幕較寬,建議斷行字元數設定為120[File->Setting–>Code Style,右邊Right Margin Columns])等
而在編碼儲存或提交時還能自動格式化代碼,刪除多餘空行,多餘縮排,無效注釋等不規範的書寫。
建議閱讀Google Java Style 中文翻譯文章 :
Android基本規範
在開發中,遵循良好的編碼規範,不僅僅可以提高代碼的可讀性,減小出錯的可能性,同時也降低與其他開發人員交流的成本,易於他人的維護與協作。 本文簡單總結了 Android 開發中的一些代碼規範,供開發人員參考。
基本要求
- 除了注釋,代碼中不出現中文
- 每個類寫上必要的注釋,類的說明,作者,連絡方式
- 方法加上必要的注釋說明,方便以後維護
包管理
- base: 存放基礎類的包,裡面的類以
Base 為首碼,例如 BaseActivity;
- activity: 存放 activity 的包,每個 activity 命名以Activity結尾,例如
MainActivity;
- fragment: 存放 fragment的包,每個 fragment 命名以 Fragment 結尾,例如
ChatFragment;
- receiver: 存放 receiver 的包;
- service: 存放 service 的包;
- adapter: 存放 adapter 的包,每個 adapter 命名以 Adapter 結尾,例如
EventItemAdapter;
- common: 存放一些公用常量,例如後端介面、
SharedPreferenceKey、IntentExtra 等;
- utils: 存放工具類的包,比如常見的工具類:
LogUtils、DateUtils;
- entity: 存放實體類的包;
- widget: 存放自訂View的包;
以上是一些常見的包,但不局限於此,視項目的具體情況而定。
命名
大駝峰命名 (UpperCamelCase) :每個單詞的第一個字母都大寫。
小駝峰命名 (lowerCamelCase) :除第一個單詞以外,每一個單詞的第一個字母大寫。
命名的基本原則:
- 儘可能地使用統一的命名規範;
- 不使用漢語拼音;
- 除了常見的英文縮寫,盡量少地使用縮寫;
1. 包命名
- 小寫字母,參見上文包管理;
- 連續的單詞直接連接起來,不使用底線;
2. Java 類命名
- 大駝峰命名
UserListAdapter;
- 除常見的縮寫單詞以外,不使用縮寫,縮寫的單詞每個字母都大寫
RequesURLList;
- 公用的工具類建議以
Utils、 Manager 為尾碼,如 LogUtils;
- 介面命名遵循以上原則,以
able 或 ible 為尾碼;
3. 變數命名
- 成員變數命名
- 小駝峰命名;
- 不推薦使用Google的前面加 m 的編碼風格(如果使用團隊中使用 m ,則統一使用);
- 常量命名
- 控制項變數命名
- 小駝峰命名;
- 建議使用
控制項縮寫+邏輯名稱 格式,例如 tvPostTitle、etUserName;
- 對應的控制項的 id 的命名
控制項縮寫_邏輯名稱,單詞均小寫,用底線串連,例如:tv_post_title、et_user_name;
- 常見的控制項縮寫如下:
| Linearlayout |
ll |
| RelativeLayout |
rl |
| TextView |
tv |
| EditText |
et |
| Button |
btn |
| ImageView |
iv |
| CheckBox |
chb |
| ListView |
lv |
| GridView |
gv |
| RadioButton |
rb |
| 控制項 |
縮寫 |
4. 方法命名
- 小駝峰命名;
- Getter 和 Setter 方法,推薦使用自動產生的,寫起來也很方便。注意,bool 類型的變數 Getter 方法寫成
isTrue 這種;
- 方法名應當保證見名知義的原則,盡量不使用
or 或者 and ,遵循 “do one thing” 原則;
5. 布局檔案命名
- activity、fragment 布局檔案名稱以對應的類別名稱為首碼,邏輯名稱放在其後,以底線串連,例如
activity_home、fragment_chat_list,方便尋找;
- ListView、GridView 的 item 布局檔案建議以
list_item、gird_item為首碼,加上對應的邏輯名稱,例如 list_item_post、grid_item_photo;
- Dialog的布局檔案以
dialog 為首碼,邏輯名稱放在其後,底線串連,例如 dialog_warnning;
- 包含項布局命名以
include 開頭,在加上對應的邏輯名稱,例如 include_foot
- 控制項的 id 命名參見控制項變數命名;
6. 資源命名
- 表徵圖資源以
ic 為首碼,例如 ic_chat ,指聊天表徵圖;
- 背景圖片以
bg 為首碼,例如 bg_login ,指的是登入頁的背景圖;
- 按鈕圖片以
btn 為首碼,例如 btn_login ,指的是登入按鈕的圖片,不過這隻有一種狀態,需要加上狀態的可以在後面添加,例如 btn_login_pressed ,表示登入按鈕按下的圖片;
- 當使用 shape 和 selector 檔案為背景或者按鈕時,命名參照以上說明;
參考資料
本文參考了:
- 最佳實務之Android代碼規範
- Android研發規範
Java&Android代碼規範