Java&Android代碼規範

項目中直接導入Square的代碼風格文件。(不導入Google的緣由是Square同時提供了Java和Android兩套統一風格,Google只提供了一套)html

Square Code Stylesjava

Goolge Code Styles android

 

導入後會有不少好處,如註釋規範化,import規範,方法排序,統一自動斷行(PC屏幕較寬,建議斷行字符數設置爲120[File->Setting–>Code Style,右邊Right Margin Columns])等git

而在編碼保存或提交時還能自動格式化代碼,刪除多餘空行,多餘縮進,無效註釋等不規範的書寫。github

 

建議閱讀Google Java Style 中文翻譯文章 :後端

 

 

Android基本規範

 

在開發中,遵循良好的編碼規範,不單單能夠提升代碼的可讀性,減少出錯的可能性,同時也下降與其餘開發者交流的成本,易於他人的維護與協做。 本文簡單總結了 Android 開發中的一些代碼規範,供開發者參考。ide

基本要求

  • 除了註釋,代碼中不出現中文
  • 每一個類寫上必要的註釋,類的說明,做者,聯繫方式
  • 方法加上必要的註釋說明,方便之後維護

包管理

  1. base: 存放基礎類的包,裏面的類以 Base 爲前綴,例如 BaseActivity
  2. activity: 存放 activity 的包,每一個 activity 命名以Activity結尾,例如 MainActivity;
  3. fragment: 存放 fragment的包,每一個 fragment 命名以 Fragment 結尾,例如 ChatFragment;
  4. receiver: 存放 receiver 的包;
  5. service: 存放 service 的包;
  6. adapter: 存放 adapter 的包,每一個 adapter 命名以 Adapter 結尾,例如 EventItemAdapter;
  7. common: 存放一些公共常量,例如後端接口、SharedPreferenceKeyIntentExtra 等;
  8. utils: 存放工具類的包,好比常見的工具類:LogUtilsDateUtils
  9. entity: 存放實體類的包;
  10. widget: 存放自定義View的包;

以上是一些常見的包,但不侷限於此,視項目的具體狀況而定。工具

命名

大駝峯命名 (UpperCamelCase) :每一個單詞的第一個字母都大寫。佈局

小駝峯命名 (lowerCamelCase) :除第一個單詞之外,每個單詞的第一個字母大寫。post

命名的基本原則:

  • 儘量地使用統一的命名規範;
  • 不使用漢語拼音;
  • 除了常見的英文縮寫,儘可能少地使用縮寫;
1. 包命名
  • 小寫字母,參見上文包管理;
  • 連續的單詞直接鏈接起來,不使用下劃線;
2. Java 類命名
  • 大駝峯命名 UserListAdapter
  • 除常見的縮寫單詞之外,不使用縮寫,縮寫的單詞每一個字母都大寫 RequesURLList
  • 公共的工具類建議以 Utils、 Manager 爲後綴,如 LogUtils
  • 接口命名遵循以上原則,以 able 或 ible 爲後綴;
3. 變量命名
  • 成員變量命名
    • 小駝峯命名;
    • 不推薦使用谷歌的前面加 m 的編碼風格(若是使用團隊中使用 m ,則統一使用);
  • 常量命名
    • 單詞每一個字母均大寫;
    • 單詞之間下劃線鏈接;
  • 控件變量命名
    • 小駝峯命名;
    • 建議使用 控件縮寫+邏輯名稱 格式,例如 tvPostTitleetUserName
    • 對應的控件的 id 的命名控件縮寫_邏輯名稱,單詞均小寫,用下劃線鏈接,例如:tv_post_titleet_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_homefragment_chat_list,方便查找;
  • ListView、GridView 的 item 佈局文件建議以 list_itemgird_item爲前綴,加上對應的邏輯名稱,例如 list_item_postgrid_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 文件爲背景或者按鈕時,命名參照以上說明;

參考資料

本文參考了:

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息