每當看到github上優(yōu)秀的項目代碼時,那簡直就比掏耳朵還享受褥伴。寫代碼如同寫文章谅将,代碼時開發(fā)者的顏值,正所謂沒有丑女人重慢,只有懶女人饥臂,漂亮的代碼也需要我們去精心裝飾。簡潔規(guī)范的代碼對個人似踱,對團隊隅熙,對下一個代碼接盤者,是一種責任核芽,也是一種專業(yè)的體現(xiàn)囚戚。
命名規(guī)范:
類的命名:使用大駝峰法,同時需要根據(jù)類的作用引入Android相關命名規(guī)則轧简,使用類的類型作為前綴或后綴驰坊,示例:
Activity類:xxxActivity
Fragment類:xxxFragment
Service類:xxxService
工具類:xxxUtil
Adapter類,xxxAdapter
基類哮独,Basexxx布局文件命名:
布局文件命名規(guī)則使用“前綴_邏輯名”方式拳芙,單詞全小寫,示例:
Activity布局文件命名:activity_xxx
Fragment布局文件命名:fragment_xxx
自定義控件布局文件命名:view_xxx
Dialog布局文件命名:dialog_xxx
列表項布局文件命名:item_xxx資源文件命名:
資源文件命名規(guī)則使用“前綴模塊名功能名”方式借嗽,單詞全小寫态鳖,示例:
我的個人設置textview,用tv_me_setting
登錄按鈕恶导,用btn_login
圖標命名以ic為前綴浆竭,形如ic_xxx
背景圖片命名以bg為前綴,形如bg_xxx
背景樣式shape形如shape_xxx
背景選擇器selector形如selector_xxx命名結構
- 枚舉常量用逗號隔開惨寿,換行可選:
public enum NetWorkState {
WIFI,MOBILE,NONE;
}
每次只聲明一個變量:
不要組合聲明變量邦泄,例如int num,max;這樣影響閱讀。數(shù)據(jù)初始化:可寫成塊狀結構裂垦,例如
new int[] {
0, 1, 2, 3
}
new int[] {
0,
1,
2,
3
}
變量和常量
變量名的命名使用小駝峰法lowerCamelCase顺囊。常量名使用大寫字母,單詞用下劃線分割蕉拢,例如public static final int REQUEST_OK = 200特碳。臨時變量
變量i,j晕换,k通常用于循環(huán)計數(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 |
- 不要使用拼音來命名蒸其,不知道英文單詞就及時使用翻譯敏释。
代碼書寫規(guī)范:
- 多使用花括號:
if,else摸袁,for等語句和花括號一起使用钥顽,即使只有一條語句,也要加上花括號靠汁。
if(allowed)
todo();
else
back();
不建議這樣寫耳鸯,這樣可能給人誤導。
正確做法應為:
if(allowed){
todo();
}else{
back();
}
每行字符個數(shù)限制在80—100個之間
空白的使用:符號之間應用一個空格隔開膀曾;一段代碼內县爬,不要都擠在一起,而應該按照邏輯分組添谊,用空行隔開财喳,使邏輯更加清晰。
修飾符的順序:類和成員的修飾符如果存在多個斩狱,需要按照Java規(guī)范的定義排序耳高,順序如下:
public protected private abstract static final transient volatile synchronized native方法的注釋:
/**
* 功能描述
* @param 參數(shù)說明
* @return 返回值說明
* @author 模塊的作者
*/
private void function(){
}
- 類的注釋:在創(chuàng)建類時標注好作者,創(chuàng)建時間所踊,聯(lián)系方法泌枪,類功能等信息
/**
* Created by libo on 2017/12/25.
* email:
* 單聊
*/
該文章持續(xù)總結,持續(xù)更新秕岛。