約定
activity.oncreate(),fragment.onactivitycreated(),作為程式入口,不用寫入太多**,盡量保持只呼叫init***()方法,簡單明瞭展示呼叫過程。如:initdata(),initview()。
單個方法體不要過長
**任何地方不要拼錯單詞
杜絕整個類**格式化
呼叫方法保持「臨近原則」,被呼叫的方法,放在呼叫方法下方
統一調整ide的tab縮排為4個空格
空行的使用,拒絕拖沓無分割,關聯**段放一塊並與後面**分割
用好todo標記
記錄想法,記錄功能點,開發過程中可以利用todo記錄一下臨時想法或為了不打擾思路留下待完善的說明
刪除無用todo,開發工具自動生成的todo,或則已經完善的todo,一定要刪除。
處理「魔數」等看不懂的神秘數字
**中不要出現數字,特別是一些標識不同型別的數字。
所有意義數字全部抽取到constant公共類中,避免散布在各位類中。
命名
1. 布局檔案中的id命名
規則:使用駝峰命名,字首+邏輯名稱,類變數名和布局檔案id名稱保持一致,不需要下劃線分割
控制項字首規則:
如:textview @+id/tvtitle
如:editview @+id/etname
如:button @+id/btnsearch布局檔案命名
規則: 使用字首_邏輯名稱命名,單詞全部小寫,單詞間以 下劃線 分割。
字首規則:
activity對應的布局使用activity_ 有時候類名過長 可簡寫為aty
fragment對應的布局使用fragment_ 簡寫 fgt
如:publishactivity: activity_publish.xml publishaty
資源檔案命名
規則: 使用 字首_用途 命名,單詞全部小寫,單詞間以 下劃線 分割。
drawable:
btn_back_selector.xml 控制項字首命名
common_circle_gray.xml 通用資源多處使用common_
chat_image_selector.xml 功能相關業務使用加用途字首
drawable_hdpi:
btn_back_normal.9.png 控制項字首名稱
btn_back_press.9.png 控制項字首名稱
icon_login_lock.png icon_+用途
values/color:
pull_refresh_attrs.xml 引入的第三方資源,攜帶資源簡拼的字首
類和介面命名
規則: 使用駝峰規則,首字母必須大寫,使用名詞或名詞片語。要求簡單易懂,富於描述,不允許出現無意義或錯誤單詞。
如:class bookmarkadd 正確
如:class addbookreadplan 錯誤! 應為 class bookreadplanadd
方法的命名
規則: 使用駝峰規則,首字母必須小寫,使用動詞。要求簡單易懂,富於描述,不允許出現無意義或錯誤單詞。
如:public void run();
如:public string getbookname();
變數命名
規則: 使用駝峰規則,首字母必須小寫,使用名詞或名詞片語。要求簡單易懂,富於描述,不允許出現無意義或錯誤單詞。
成員變數命名,不要在私有變數前新增m字樣
常量命名,全部大寫,單詞間用下劃線隔開
其他
成員變數之間,根據業務形成分組加空行
方法之間加空行
控制語句
減少條件巢狀,不要超過3層
if判斷使用「衛語句」,減少層級
if(obj != null)
修改為:
if(obj == null) dosomething();
if語句必須用{}包括起來,即便是只有一句
方法 拆分臃腫方法,每個方法只作一件事
做同乙個邏輯的方法,盡量靠近放到一塊,方便檢視
不要使用 try catch 處理業務邏輯
使用json工具類,不要手動解析和拼裝資料
activity繼承basefragmentactivity或swipebackactivity,可以使用butterknife註解代替findviewbyid。
ide
android studio (越早使用越好)
android sdk 4.4w (api 20 統一開發版本)
jdk 1.8(統一開發版本)
libraries
systembartint 狀態列以及導航欄設定背景顏色
swipebacklayout 左滑返回
pulltozoomview 可以下拉縮放headerview
autoloopviewpager 輪播圖
photoview
viewpageindicator
Android程式設計開發規範
處理 魔數 等看不懂的神秘數字 規則 使用駝峰命名,字首 邏輯名稱,類變數名和布局檔案id名稱保持一致,不需要下劃線分割 控制項字首規則 規則 使用字首 邏輯名稱命名,單詞全部小寫,單詞間以 下劃線 分割。字首規則 規則 使用字首 用途命名,單詞全部小寫,單詞間以 下劃線 分割。drawable h...
PHP 開發規範(乾貨總結)
本規範基於 psr 和實際專案經驗整理而成,目前已在公司內部推行使用,特分享如下。分為編碼格式篇和程式設計篇兩大部分。基於 psr 1 psr 2 psr 12 this is a example class declare strict types 1 namespace vendor packa...
android 開發規範
轉至 keegan小鋼 在前一篇文章 android專案重構之路 架構篇 中已經簡單說明了專案的架構,將專案分為了四個層級 模型層 介面層 核心層 介面層。其中,最上層的介面,是變化最頻繁的乙個層面,也是最複雜最容易出問題的乙個層面,如果規劃不好,很容易做著做著,又亂成一團了。要規劃好介面層,至少應...