目錄
[TOC]
開發(fā)工具
- 盡量使用最新版的IDE進(jìn)行開發(fā)
- 編碼格式統(tǒng)一為UTF-8
- 文件編輯完后:
- .java碌更、.xml等文件后一定要格式化
- 基本格式方面使用 AS 默認(rèn)模板即可
- .java文件需刪除多余的import泞坦,減少警告出現(xiàn)
- 進(jìn)行代碼規(guī)范檢查
- 插件:Alibaba Java Coding Guidelines
- 代碼Review
- .java碌更、.xml等文件后一定要格式化
包命名規(guī)范
- 包名全部小寫字母,連續(xù)的單詞只是簡單地連接起來疏虫,不使用下劃線屏鳍,
- 一級包名為頂級域名栏饮,通常為com,edu,gov,net,org等吊说,
- 二級包名论咏,可以是公司域名或者個人命名,
- 三級包名根據(jù)應(yīng)用進(jìn)行命名颁井,
- 四級包名為模塊名或?qū)蛹壝?
- 注意:全部使用小寫字母
編碼規(guī)范
- 架包引入
- 去除重復(fù)包
- 進(jìn)行二次封裝
- 命名
- 代碼中的命名嚴(yán)禁使用拼音與英文混合的方式厅贪,更不允許直接使用中文的方式。
- 正確的英文拼寫和語法可以讓閱讀者易于理解雅宾,避免歧義卦溢。
- 注意:
- 即使純拼音命名方式也要避免采用。但alibaba秀又、taobao、youku贬芥、hangzhou等國際通用的名稱,可視同英文吐辙。
- 類編輯規(guī)范
- 注釋
-
類注釋
/** * @projectName ${PROJECT_NAME} * @packageName ${PACKAGE_NAME} * @className ${NAME} * @date ${DATE} * @author coderName * @desc */
-
方法注釋
/** * */
-
行內(nèi)注釋
//desc /*desc*/
-
- 命名規(guī)范
-
class 類
- Application類
- 以Application為后綴,
- eg:BaseApplication
- activity類蘸劈,
- 以Activity為后綴昏苏,
- eg:LoginActivity
- fragment類,
- 以Fragment為后綴威沫,
- eg:TabFragment
- service類贤惯,
- 以Service為后綴,
- eg:DownloadService
- BroadcastReceiver類
- 以Broadcast為后綴棒掠,
- eg:DownloadBroadcast
- ContentProvider類
- 以Provider為后綴孵构,
- eg:DownloadProvider
- adapter類,
- 以Adapter為后綴烟很,
- eg:UserMsgAdapter
- 工具類颈墅,
- 以Utils為后綴蜡镶,
- eg:StringUtils
- 管理類,
- 以Manager為后綴恤筛,
- eg:ThreadPoolManager
- 接口類官还,
- 以I為前綴,
- eg:IApi
- 接口實現(xiàn)類毒坛,
- 以Impl為后綴望伦,
- eg:ApiImpl
- 基礎(chǔ)類,
- 以Base為前綴煎殷,
- eg:BaseActivity
- 實體類屯伞,
- 以Bean為后綴,
- eg:UserBean
- 以Entity為后綴蝌数,
- eg:UserEntity
- 監(jiān)聽類愕掏,
- 以O(shè)n為前綴,Listener為后綴
- eg:OnClickListener
- 常量類
- 以Constant為后綴
- eg:UserConstant
- 注意:
范圍型的常量用枚舉類定義顶伞,而不要直接用整型或字符饵撑,這樣可以減少范圍值的有效性檢查
-
eg:
public enum CouponType { // 現(xiàn)金券 @SerializedName("1") CASH, // 抵用券 @SerializedName("2") DEBIT, // 折扣券 @SerializedName("3") DISCOUNT }
- Application類
-
variable 變量
- 公開常量:
- 定義為靜態(tài)final,名稱全部大寫唆貌。
- eg:
- public static final String KEY_XXX="";
- public static final String VALUE_XXX="";
- 靜態(tài)變量:
- 以s開頭
- eg:
- private static int sAge = 0;
- 非靜態(tài)的私有變量滑潘、protected的變量:
- 以m開頭
- eg:private Intent mItent;
- 以m開頭
- View變量:
- 以mView名稱/mView縮寫為前綴,
- 基本格式:m + 類型名稱/縮寫 + 功能
- eg:private Button mBtnCancel;
- 方法參數(shù):
- 以p開頭
- eg:private void getData(int pUserId){};
- 以p開頭
- 公開常量:
-
method 方法
- 布爾型判斷的方法锨咙,
- 以is或has為前綴
- eg:isAdmin()
- 以is或has為前綴
- 初始化方法语卤,
- 以init為前綴,
- eg:initView()
- 以init為前綴,
- 彈出信息\提示框
- 以display開頭酪刀,
- eg:displayError()
- 以display開頭酪刀,
- 按鈕點擊方法粹舵,
- 以to開頭,
- eg:toLogin()
- 以to開頭,
- 設(shè)置方法骂倘,
- 以set開頭眼滤,
- eg:setData()
- 以set開頭眼滤,
- 具有返回值的獲取方法,
- 以get開頭历涝,
- eg:getData()
- 以get開頭历涝,
- 通過異步加載數(shù)據(jù)的方法诅需,
- 以load開頭,
- eg:loadData()
- 以load開頭,
- 保存數(shù)據(jù)方法
- 以save為前綴荧库,
- eg:saveData()
- 以save為前綴荧库,
- 對數(shù)據(jù)重組的方法
- 以reset為前綴堰塌,
- eg:resetData()
- 以reset為前綴堰塌,
- 清除數(shù)據(jù)的方法
- 以clear\remove為前綴
- eg:
- clearData()
- removeData()
- eg:
- 以clear\remove為前綴
- 繪制的方法
- 以draw為前綴
- eg:drawBipmap()
- 以draw為前綴
- 布爾型判斷的方法锨咙,
-
class 類
- 注釋
資源文件規(guī)范
-
布局
- 命名規(guī)范
-
layout
- 全部小寫,采用下劃線命名法
- activity布局
- activity_模塊_功能(描述)
- fragment布局
- fragment_模塊_功能(描述)
- dialog布局
- dlg_功能(描述)
- PopupWindow布局
- Popupwin_功能(描述)
- adapter項布局
- item_adapter名稱_功能(描述)
- 包含項
- include_功能(描述)
-
Id
- View名稱或View縮寫模塊功能(描述)
- eg:
- btn_login_commit
- eg:
- View名稱或View縮寫模塊功能(描述)
-
layout
- 命名規(guī)范
-
res 資源文件
-
value
- string
- 命名規(guī)范
- 基本格式:模塊str類型_功能(描述)
- eg:
- 頁面標(biāo)題分衫,
- 命名格式為:模塊str_title功能(描述)
- 按鈕文字场刑,
- 命名格式為:模塊str_btn功能(描述)
- 標(biāo)簽文字,
- 命名格式為:模塊str_label標(biāo)簽文字簡述
- 選項卡文字蚪战,
- 命名格式為:模塊str_tab選項卡文字
- 消息框文字摇邦,
- 命名格式為:模塊str_toast消息簡述
- 編輯框的提示文字恤煞,
- 命名格式為:模塊str_hint提示信息簡述
- 描述文字,
- 命名格式為:模塊str_desc文字
- 對話框的文字施籍,
- 命名格式為:模塊str_dialog文字
- 頁面標(biāo)題分衫,
- 命名規(guī)范
- color
- 命名規(guī)范
- 基本格式:模塊cl類型_功能(描述)
- eg:
- user_cl_txt_功能(描述)
- user_cl_edit_功能(描述)
- user_cl_hint_功能(描述)
- user_cl_bg_功能(描述)
- user_cl_btn_功能(描述)
- 命名規(guī)范
- string
- layout
- 文字大小的單位統(tǒng)一用sp
- View大小的單位統(tǒng)一用dp
- 字符串統(tǒng)一在strings.xml中定義居扒,然后在代碼和布局文件中引用
- 顏色值統(tǒng)一在colors.xml中定義,然后在代碼和布局文件中引用
- drawbale
- 資源類型:
- png丑慎、jpeg喜喂、gif、9-Patch竿裂、xml等資源文件
- 命名規(guī)范:
- 基本格式:類型_描述
- 圖標(biāo)
- ic_描述
- icon_描述
- 圖片
- img_描述
- 9-Patch
- 9patch_描述
- shape
- shape_描述
- selector
- selector_描述
- sl_描述
- layer-list
- layerlist_描述
- 資源類型:
- mipmap
- 資源類型:
- 存放啟動圖標(biāo)玉吁、啟動圖
- 命名規(guī)范:
- ic_launcher
- sp_index
- 資源類型:
- anim
- 資源類型:
- 存放 tween animation 和 frame animation
- 命名規(guī)范:
- 基本格式:類型_描述
- 常用描述:
- in
- out
- left
- right
- down
- push
- 常用描述:
- eg:
- tween_anim_描述
- frame_anim_描述
- 基本格式:類型_描述
- xml文件里只有
- scale、
- rotate腻异、
- translate进副、
- alpha、
- set
- 使用方法:
- 加載動畫:
- animation = AnimationUtils.loadAnimation(R.anim.xxx)
- 設(shè)置動畫:
- mView.setAnimation(animation)
- 開啟動畫:
- mView.startAnimation()
- 加載動畫:
- 資源類型:
- animator
- 資源類型:
- 存放 property animation
- 命名規(guī)范:
- 基本格式:類型_描述
- 常用描述:
- in
- out
- left
- right
- down
- push
- 常用描述:
- eg:
- property_animator_描述
- 基本格式:類型_描述
- xml文件里只有
- animator悔常、
- objectAnimator影斑、
- set
- 使用方法:
- 加載動畫:
- animation = AnimatorInflater.loadAnimator(R.animator.xxx)
- 設(shè)置動畫:
- animation.setTarget(mView)
- 開啟動畫:
- animation .start()
- 加載動畫:
- 資源類型:
-
value