Android代碼規(guī)范總結(jié)

image.png

每當(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)

  1. 枚舉常量用逗號隔開,換行可選:
public enum NetWorkState {
    WIFI,MOBILE,NONE;
}
  1. 每次只聲明一個(gè)變量:
    不要組合聲明變量,例如int num,max;這樣影響閱讀。

  2. 數(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ù)更新。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,917評論 25 709
  • Android編碼規(guī)范 源文件基礎(chǔ) 文件名 源文件以其最頂層的類名來命名,大小寫敏感,文件擴(kuò)展名為.java。 文...
    呼呼哥閱讀 1,114評論 0 0
  • 第一部分 打好基礎(chǔ) Laying the Foundation 第一章 歡迎進(jìn)入軟件構(gòu)建的世界 Welcome t...
    白樺葉閱讀 4,801評論 0 17
  • 歲月長河的波浪奔流前行,總會(huì)帶走一些陳舊的,已被淘汰的舊事物,送來一些適合的,符合時(shí)代潮流的新事。這是誰也無法改變...
    補(bǔ)拙莫如勤LV閱讀 2,049評論 0 1
  • 天黑后適合看電影。鉆在被子里看心緒更是自由。 昨晚看完殺人回憶已過1點(diǎn)。 一個(gè)多小時(shí)的冷色調(diào)里,仿佛小鎮(zhèn)里只剩下雨...
    遠(yuǎn)行燈閱讀 351評論 1 0

友情鏈接更多精彩內(nèi)容