Android 項(xiàng)目編碼規(guī)范總結(jié)筆記

注釋的目的是為了彌補(bǔ)代碼自身在表達(dá)上的不足

圖片取自網(wǎng)絡(luò)

好的代碼能夠讓任何人在不需要任何注釋的情況下看懂淑趾,由此可見(jiàn),養(yǎng)成清晰明確規(guī)范的編碼風(fēng)格多重要振乏。

每個(gè)公司項(xiàng)目都會(huì)自己定義一套命名規(guī)則來(lái)著恰聘,遵守命名規(guī)則來(lái)編寫(xiě)代碼,方便自己链患,方便他人巧鸭,百度一下Android命名規(guī)則,當(dāng)然能得到很多結(jié)果麻捻,規(guī)則大致相似纲仍,也有少許差異呀袱,然而本人記性一般,偶爾看到更簡(jiǎn)便郑叠,自己也更為喜歡的命名規(guī)范夜赵,在沒(méi)有一直使用到的情況下,過(guò)個(gè)幾天也許就忘記了乡革,所以寇僧,一定得做個(gè)筆記才行,哈哈哈~

  • 包名(小寫(xiě)沸版,個(gè)人喜歡按控件來(lái)取包名婉宰,而不是業(yè)務(wù),com.xx[公司或個(gè)人或項(xiàng)目名].[控件或者模塊名].[業(yè)務(wù)比較多的情況下推穷,頁(yè)面又多就再分個(gè)模塊名])

    • com.xx.activity(頁(yè)面用到的Activity類)如果activity比較多心包,再加一層 com.xx.activity.model
    • com.xx.fragment(頁(yè)面用到的Fragment類)
    • com.xx.base (基礎(chǔ)共享的類)
    • com.xx.adapter(適配器)
    • com.xx.utils(公共工具方法類,包括網(wǎng)絡(luò)馒铃、日志蟹腾、日期、文件等等一系列的工具類)
    • com.xx.bean(JavaBean類)或者 com.xx.entity/domain/model
    • com.xx.db( 數(shù)據(jù)庫(kù)操作類)
    • com.xx.view(自定義的View類)或者com.xx.ui
    • com.xx.service( Service服務(wù))
    • com.xx.receiver(BroadcastReceiver廣播)
      還有其他包就按模塊作用取名吧区宇,總之要一眼知道這個(gè)包都是裝了些哪種類型的類娃殖。
  • 類名(大駝峰,用名詞或名詞詞組议谷,首字母大寫(xiě)炉爆,主要取名方式還是要讓別人知道這是個(gè)什么樣的類,這個(gè)類主要做什么事情卧晓,各個(gè)組件的取名后綴就加上組件芬首,比如說(shuō)xxActivity,xx就描述這是個(gè)啥Activity)
    什么XXXAplication逼裆、WelcomeActivity郁稍、ArticleAdapter、HomePosterParser胜宇、ActivityStackManager耀怜、LogUtil、NewDBHelper桐愉、TimeServiceBroadcast财破、JPushReceiver、BaseActivity从诲、BaseFragment左痢、接口IRunable

  • 方法名(小駝峰、動(dòng)詞、首字母小寫(xiě))

    • 初始化相關(guān)方法抖锥,使用init為前綴——initXX()
    • 方法返回值為boolean型——isXX()或者checkXX()
    • 返回某個(gè)值——getXX()
    • 對(duì)數(shù)據(jù)進(jìn)行處理——handleXX()
    • 彈出提示框和提示信息——displayXX()或者showXX()
    • 保存數(shù)據(jù)——saveXX()
    • 數(shù)據(jù)重組——resetXX()
    • 清除數(shù)據(jù)——clearXX()或者removeXX()
    • 繪制數(shù)據(jù)或效果——drawXXX()
    • 按鈕點(diǎn)擊方法,命名以to開(kāi)頭——toLogin
    • 設(shè)置方法碎罚,命名以set開(kāi)頭——setData
    • 通過(guò)異步加載數(shù)據(jù)的方法磅废,命名以load開(kāi)頭——loadData
  • 常量名(全部為大寫(xiě)、單詞間用下劃線分開(kāi))

    • public final static int PAGE_SIZE = 20;
  • 變量({范圍描述+}意義描述+類型描述荆烈,駝峰式拯勉,首字母小寫(xiě))

    • private TextView titleTv; 個(gè)人認(rèn)為 tvTitle也是可以的
    • 非公有憔购,非靜態(tài)字段命名以m開(kāi)頭
    • 靜態(tài)字段命名以s開(kāi)頭
    • 公有非靜態(tài)字段命名以p開(kāi)
    • 公有靜態(tài)字段(全局變量)命名以g開(kāi)頭
    • public static final 字段(常量) 全部大寫(xiě)宫峦,并用下劃線連起來(lái)
    • 集合添加如下后綴:List、Map玫鸟、Set
    • 數(shù)組添加如下后綴:Arr
  • 控件縮寫(xiě)

    • TextView tv
    • EditText edt
    • Button btn
    • ImageButton ibtn
    • ImageView img
    • ListView lv
    • RadioGroup group
    • RadioButton rbtn
    • ProgressBar progress
    • SeekBar sbar
    • CheckBox cbox
    • Spinner spinner
    • TableRow row
    • LinearLayout llayout (TableLayout导绷、RelativeLayout 類似)
    • ScrollView scroll
    • SearchView search
    • TabHost host
    • TabWidget widget
  • 控件id(控件縮寫(xiě)+{范圍}+意義)

    • 登錄按鈕:<Button android:id="@+id/btn_login" ... />
  • 資源布局文件(組件類型+功能模塊(描述),用組件名稱開(kāi)頭的布局文件可以很清晰的表示這個(gè)布局文件是被那類組件使用)

    • activity_功能屎飘,為Activity的命名格式妥曲,比如activity_main.xml、activity_more.xml
    • fragment(frag)_功能钦购,為Fragment的命名格式
    • dialog_功能檐盟,為Dialog的命名格式,比如dialog_hint.xml
    • item_list_功能押桃,為L(zhǎng)istView的item命名格式
    • item_grid_功能葵萎,為GridView的item命名格式
    • header_list_功能,為L(zhǎng)istView的HeaderView命名格式
    • footer_list_功能唱凯,為L(zhǎng)istView的FooterView命名格式
    • ppw_描述羡忘,為PopupWindow命名
    • include_模塊,為包含項(xiàng)命名磕昼,例如:include_head.xml壳坪、include_bottom.xml
  • 動(dòng)畫(huà)文件(anim文件夾下,小寫(xiě)掰烟,下劃線爽蝴,加前綴)

    截圖取自網(wǎng)上

  • strings(類型+{范圍}+功能)

    • 頁(yè)面標(biāo)題,命名格式為:title_頁(yè)面
    • 按鈕文字纫骑,命名格式為:btn_按鈕事件
    • 標(biāo)簽文字蝎亚,命名格式為:label_標(biāo)簽文字
    • 選項(xiàng)卡文字,命名格式為:tab_選項(xiàng)卡文字
    • 消息框文字先馆,命名格式為:toast_消息
    • 編輯框的提示文字发框,命名格式為:hint_提示信息
    • 圖片的描述文字,命名格式為:desc_圖片文字
    • 對(duì)話框的文字煤墙,命名格式為:dialog_文字
    • menu的item文字梅惯,命名格式為:action_文字
  • colors

    • 背景顏色宪拥,添加bg前綴
    • 文本顏色,添加text前綴
    • 分割線顏色铣减,添加div前綴
    • 區(qū)分狀態(tài)時(shí)她君,默認(rèn)狀態(tài)的顏色,添加normal后綴
    • 區(qū)分狀態(tài)時(shí)葫哗,按下時(shí)的顏色缔刹,添加pressed后綴
    • 區(qū)分狀態(tài)時(shí),選中時(shí)的顏色劣针,添加selected后綴
    • 區(qū)分狀態(tài)時(shí)校镐,不可用時(shí)的顏色,添加disable后綴
  • **Drawable **
    圖標(biāo)類捺典,添加ic前綴
    背景類鸟廓,添加bg前綴
    分隔類,添加div前綴
    默認(rèn)類襟己,添加def前綴
    區(qū)分狀態(tài)時(shí)肝箱,默認(rèn)狀態(tài),添加normal后綴
    區(qū)分狀態(tài)時(shí)稀蟋,按下時(shí)的狀態(tài)煌张,添加pressed后綴
    區(qū)分狀態(tài)時(shí),選中時(shí)的狀態(tài)退客,添加selected后綴
    區(qū)分狀態(tài)時(shí)骏融,不可用時(shí)的狀態(tài),添加disable后綴
    多種狀態(tài)的萌狂,添加selector后綴(一般為L(zhǎng)istView的selector或按鈕的selector)

  • styles(模塊名+邏輯名稱)

    • main_tabBottom
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末档玻,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子茫藏,更是在濱河造成了極大的恐慌误趴,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件务傲,死亡現(xiàn)場(chǎng)離奇詭異凉当,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)售葡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)看杭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人挟伙,你說(shuō)我怎么就攤上這事楼雹。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵贮缅,是天一觀的道長(zhǎng)榨咐。 經(jīng)常有香客問(wèn)我,道長(zhǎng)谴供,這世上最難降的妖魔是什么块茁? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮憔鬼,結(jié)果婚禮上龟劲,老公的妹妹穿的比我還像新娘胃夏。我一直安慰自己轴或,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布仰禀。 她就那樣靜靜地躺著照雁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪答恶。 梳的紋絲不亂的頭發(fā)上饺蚊,一...
    開(kāi)封第一講書(shū)人閱讀 52,475評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音悬嗓,去河邊找鬼污呼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛包竹,可吹牛的內(nèi)容都是我干的燕酷。 我是一名探鬼主播,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼周瞎,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼苗缩!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起声诸,我...
    開(kāi)封第一講書(shū)人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤酱讶,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后彼乌,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體泻肯,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年慰照,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了软免。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡焚挠,死狀恐怖膏萧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤榛泛,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布蝌蹂,位于F島的核電站,受9級(jí)特大地震影響曹锨,放射性物質(zhì)發(fā)生泄漏孤个。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一沛简、第九天 我趴在偏房一處隱蔽的房頂上張望齐鲤。 院中可真熱鬧,春花似錦椒楣、人聲如沸给郊。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)淆九。三九已至,卻和暖如春毛俏,著一層夾襖步出監(jiān)牢的瞬間炭庙,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工煌寇, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留焕蹄,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓阀溶,卻偏偏與公主長(zhǎng)得像腻脏,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子淌哟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容