
每當(dāng)看到github上優(yōu)秀的項(xiàng)目代碼時(shí),那簡直就比掏耳朵還享受。寫代碼如同寫文章,代碼時(shí)開發(fā)者的顏值,正所謂沒有丑女人,只有懶女人,漂亮的代碼也需要我們?nèi)ゾ难b飾。簡潔規(guī)范的代碼對個(gè)人,對團(tuán)隊(duì),對下一個(gè)代碼接盤者,是一種責(zé)任,也是一種專業(yè)的體現(xiàn)。
命名規(guī)范:
類的命名:使用大駝峰法,同時(shí)需要根據(jù)類的作用引入Android相關(guān)命名規(guī)則,使用類的類型作為前綴或后綴,示例:
Activity類:xxxActivity
Fragment類:xxxFragment
Service類:xxxService
工具類:xxxUtil
Adapter類,xxxAdapter
基類,Basexxx布局文件命名:
布局文件命名規(guī)則使用“前綴_邏輯名”方式,單詞全小寫,示例:
Activity布局文件命名:activity_xxx
Fragment布局文件命名:fragment_xxx
自定義控件布局文件命名:view_xxx
Dialog布局文件命名:dialog_xxx
列表項(xiàng)布局文件命名:item_xxx資源文件命名:
資源文件命名規(guī)則使用“前綴模塊名功能名”方式,單詞全小寫,示例:
我的個(gè)人設(shè)置textview,用tv_me_setting
登錄按鈕,用btn_login
圖標(biāo)命名以ic為前綴,形如ic_xxx
背景圖片命名以bg為前綴,形如bg_xxx
背景樣式shape形如shape_xxx
背景選擇器selector形如selector_xxx命名結(jié)構(gòu)
- 枚舉常量用逗號隔開,換行可選:
public enum NetWorkState {
WIFI,MOBILE,NONE;
}
每次只聲明一個(gè)變量:
不要組合聲明變量,例如int num,max;這樣影響閱讀。數(shù)據(jù)初始化:可寫成塊狀結(jié)構(gòu),例如
new int[] {
0, 1, 2, 3
}
new int[] {
0,
1,
2,
3
}
變量和常量
變量名的命名使用小駝峰法lowerCamelCase。常量名使用大寫字母,單詞用下劃線分割,例如public static final int REQUEST_OK = 200。臨時(shí)變量
變量i,j,k通常用于循環(huán)計(jì)數(shù);變量m,n通常用于整形;c,d,e通常用于字符型。常用英文單詞縮寫:
| 名稱 | 縮寫 |
|---|---|
| icon | ic |
| average | avg |
| background | bg |
| delete | del |
| document | doc |
| error | err |
| increment | inc |
| infomation | info |
| initial | init |
| image | img |
| length | len |
| library | lib |
| message | msg |
| password | pwd |
| position | pos |
| string | str |
- 不要使用拼音來命名,不知道英文單詞就及時(shí)使用翻譯。
代碼書寫規(guī)范:
- 多使用花括號:
if,else,for等語句和花括號一起使用,即使只有一條語句,也要加上花括號。
if(allowed)
todo();
else
back();
不建議這樣寫,這樣可能給人誤導(dǎo)。
正確做法應(yīng)為:
if(allowed){
todo();
}else{
back();
}
每行字符個(gè)數(shù)限制在80—100個(gè)之間
空白的使用:符號之間應(yīng)用一個(gè)空格隔開;一段代碼內(nèi),不要都擠在一起,而應(yīng)該按照邏輯分組,用空行隔開,使邏輯更加清晰。
修飾符的順序:類和成員的修飾符如果存在多個(gè),需要按照J(rèn)ava規(guī)范的定義排序,順序如下:
public protected private abstract static final transient volatile synchronized native方法的注釋:
/**
* 功能描述
* @param 參數(shù)說明
* @return 返回值說明
* @author 模塊的作者
*/
private void function(){
}
- 類的注釋:在創(chuàng)建類時(shí)標(biāo)注好作者,創(chuàng)建時(shí)間,聯(lián)系方法,類功能等信息
/**
* Created by libo on 2017/12/25.
* email:
* 單聊
*/
該文章持續(xù)總結(jié),持續(xù)更新。