1.命名規範:
從正式開始Android開發工作第一天,主管就教我命名規範,這也從側面反應命名規範的重要性。良好的命名習慣對今後代碼的維護更新起很大作用,提高開發效率。
(1)佈局文件中的id命名
規則:使用駝峯命名,前綴+邏輯名稱,類變量名和佈局文件id名稱保持一致,不需要下劃線分割
控件前綴規則:
TextView/EditText: tv/et
Button/RadioButton/ImageButton: btn
ImageView: img
RelativeLayout/LinearLayout/FrameLayout: layout,
ListView: listView
WebView: webView
CheckBox: chBox
如:TextView @+id/tvTitle
如:EditView @+id/etName
如:Button @+id/btnSearch
(2) 佈局文件命名
規則: 使用前綴_邏輯名稱命名,單詞全部小寫,單詞間以 下劃線 分割。
前綴規則:
Activity對應的佈局使用activity_ 有時候類名過長 可簡寫爲aty
Fragment對應的佈局使用fragment_ 簡寫 fgt
如:PublishActivity: activity_publish.xml PublishAty
(3)資源文件命名
規則: 使用 前綴_用途 命名,單詞全部小寫,單詞間以 下劃線 分割。
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 引入的第三方資源,攜帶資源簡拼的前綴
(4)類和接口命名
規則: 使用駝峯規則,首字母必須大寫,使用名詞或名詞詞組。要求簡單易懂,富於描述,不允許出現無意義或錯誤單詞。
如:class BookMarkAdd 正確
如:class AddBookReadPlan 錯誤! 應爲 class BookReadPlanAdd
(5) 方法的命名
規則: 使用駝峯規則,首字母必須小寫,使用動詞。要求簡單易懂,富於描述,不允許出現無意義或錯誤單詞。
如:public void run();
如:public String getBookName();
(6)變量命名
規則: 使用駝峯規則,首字母必須小寫,使用名詞或名詞詞組。要求簡單易懂,富於描述,不允許出現無意義或錯誤單詞。
成員變量命名,不要在私有變量前添加m字樣
常量命名,全部大寫,單詞間用下劃線隔開
2.編程規範:
這裏的編程規範總結的是Android開發中一些常用編程習慣,好的細節,好的習慣也是一個優秀程序員所必備的。
1.Java代碼中不要出現中文,最多註釋中可以出現中文;代碼中不要出現數字,特別是一些標識不同類型的數字,所有意義數字全部抽取到Constant公共類中,避免散佈在各位類中;代碼任何地方不要拼錯單詞
2.Activity.onCreate(),Fragment.onActivityCreated(),作爲程序入口,不用寫入太多代碼,儘量保持只調用initXXX()方法,簡單明瞭展示調用過程。如:initData(),initView()。
3.方法使用:單個方法體不要過長,拆分臃腫方法,每個方法只作一件事;做同一個邏輯的方法,儘量靠近放到一塊,方便查看;調用方法保持“臨近原則”,被調用的方法,放在調用方法下方;
4.空行使用:空行將邏輯相關代碼段隔開,簡潔清楚,提高可讀性。
空行的使用:拒絕拖沓無分割,關聯代碼段放一塊並與後面代碼分割;成員變量之間,根據業務形成分組加空行;方法之間加空行
5.控制語句:減少條件嵌套,不要超過3層
if判斷使用“衛語句”,減少層級
if(obj != null) { doSomething();}
修改爲:
if(obj == null) { return;}doSomething();
if語句必須用{}包括起來,即便是隻有一句
6.TODO標記:記錄想法,記錄功能點,開發過程中可以利用TODO記錄一下臨時想法或爲了不打擾思路留下待完善的說明;刪除無用TODO,開發工具自動生成的TODO,或則已經完善的TODO,一定要刪除。
3.工具規範:
開發環境,開發工具,項目框架因公司而異,這裏總結下常用的工具以及第三方依賴庫:
IDE
ADT(已停止更新)
Android Studio (新推出的開發環境)
Android SDK 4.4W (API 20 統一開發版本)
JDK 1.8(統一開發版本)
Libraries
Base
fastjson-android-1.2.4.jar
okhttp-2.2.0.jar
okio-1.2.0.jar
picasso-2.5.0.jar
butterknife:7.0.1
ormlite-android:4.48
volley
xutils
AChartEngine
Universal-Image-Loader
UI
PullToRefresh下拉刷新與上拉加載
QuickAdapter
PagerSlidingTabStrip
SwipeRefreshLayout
SystemBarTint 狀態欄以及導航欄設置背景顏色
SwipeBackLayout 左滑返回
PullToZoomView 可以下拉縮放HeaderView
AutoLoopViewPager 輪播圖
PhotoView
ViewPageIndicator
許多好看的UI效果可以去安卓巴士,github上面搜索到,這裏就不列舉太多了。
以上是根據自己開發以及上網查詢整理的資料,持續更新中,一起學習。