日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

【转】代码命名规范

發(fā)布時(shí)間:2023/11/27 生活经验 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】代码命名规范 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

標(biāo)識(shí)符命名法主要有四種:

1?駝峰(Camel)命名法:又稱小駝峰命名法,除首單詞外,其余所有單詞的第一個(gè)字母大寫。

2?帕斯卡(pascal)命名法:又稱大駝峰命名法,所有單詞的第一個(gè)字母大寫

3?下劃線命名法:單詞與單詞間用下劃線做間隔。

4?匈牙利命名法:廣泛應(yīng)用于微軟編程環(huán)境中,在以Pascal命名法的變量前附加小寫序列說明該變量的類型。?量的取名方式為:<scope_>?+?<prefix_>?+?<qualifier>范圍前綴,類型前綴,限定詞。

?

個(gè)人覺得標(biāo)識(shí)符命名原則:盡可能的用最少的字符而又能完整的表達(dá)標(biāo)識(shí)符的含義。

英文縮寫原則:
1?較短的單詞可通過去掉“元音”形成縮寫
2?較長的單詞可取單詞的頭幾個(gè)字母形成縮寫
3?此外還有一些約定成俗的英文單詞縮寫

下面為常見的英文單詞縮寫:

名稱

縮寫

icon ?

ic?(主要用在app的圖標(biāo))

color ?

cl(主要用于顏色值)

divider

di(主要用于分隔線,不僅包括Listview中的divider,還包括普通布局中的線)

selector

sl(主要用于某一view多種狀態(tài),不僅包括Listview中的selector,還包括按鈕的selector)

average

avg

background??

Bg(主要用于布局和子布局的背景)

buffer

buf

control

ctrl

delete

del

document?

doc

error

err

escape

esc

increment

inc

infomation

info

initial?

init

image

img

Internationalization

I18N

length

len

library

lib

message

msg

password-

pwd

position

pos

server

srv

string

str

temp

tmp

window

wnd(win)

?

程序中使用單詞縮寫原則:不要用縮寫,除非該縮寫是約定俗成的。

命名規(guī)范:

1包(packages):采用反域名命名規(guī)則,全部使用小寫字母。一級(jí)包名為com,二級(jí)包名為xx(可以視公司或則個(gè)人),三級(jí)包名根據(jù)應(yīng)用進(jìn)行命名,四級(jí)包名為模塊名或?qū)蛹?jí)名

包名

此包中包含

com.xx.應(yīng)用名稱縮寫.activities

?頁面用到的Activity類?(activities層級(jí)名用戶界面層)

?com.xx.應(yīng)用名稱縮寫.base

?頁面中每個(gè)Activity類共享的可以寫成一個(gè)i額BaseActivity類?(基礎(chǔ)共享的類)

com.xx.應(yīng)用名稱縮寫.adapter ?

?頁面用到的Adapter類?(適配器的類)

com.xx.應(yīng)用名稱縮寫.tools

?此包中包含:公共工具方法類(tools模塊名)

com.xx.應(yīng)用名稱縮寫.bean

(或則?com.xx.應(yīng)用名稱縮寫.unity?)

?此包中包含:元素類

com.xx.應(yīng)用名稱縮寫.db

?數(shù)據(jù)庫操作類

com.xx.應(yīng)用名稱縮寫.view

(或則?com.xx.應(yīng)用名稱縮寫.ui?)

?自定義的View類等

com.xx.應(yīng)用名稱縮寫.service ???

?Service服務(wù)

com.xx.應(yīng)用名稱縮寫.broadcast ?

?Broadcast服務(wù)

?

2 類(classes):名詞,采用大駝峰命名法,盡量避免縮寫,除非該縮寫是眾所周知的,比如HTML,URL,如果類名稱中包含單詞縮寫,則單詞縮寫的每個(gè)字母均應(yīng)大寫。

?

?

?描述?例如

activity?類

?Aty或者Activity為后綴標(biāo)識(shí)

?歡迎頁面類WelcomeAty.或者WelcomeActivity

Adapter類

??Adp或者Adapte?為后綴標(biāo)識(shí)

?新聞詳情適配器NewtDetailAdp或則直接??NewDetailAdapter

解析類?

?Hlr為后綴標(biāo)識(shí)

?首頁解析類HomePosterHlr

公共方法類

??Tools或Manager為后綴標(biāo)識(shí)

?線程池管理類:ThreadPoolManager
????????????日志工具類:LogTools

數(shù)據(jù)庫類

?以DBHelper后綴標(biāo)識(shí)

?新聞數(shù)據(jù)庫:NewDBHelper

Service類

?以Service為后綴標(biāo)識(shí)

?時(shí)間服務(wù)TimeService

BroadcastReceive類

? 以Broadcast為后綴標(biāo)識(shí)

?時(shí)間通知TimeBroadcast

ContentProvider??

?以Provider為后綴標(biāo)識(shí)

?

直接寫的共享基礎(chǔ)類

?以Base開頭

BaseActivity,BaseFragment

?

3 接口(interface):命名規(guī)則與類一樣采用大駝峰命名法,多以able或ible結(jié)尾,如interface Runnable;??interface Accessible

?

4 方法(methods):動(dòng)詞或動(dòng)名詞,采用小駝峰命名法。例如:onCreate(),run()

方法

說明

initXX()

?初始化相關(guān)方法,使用init為前綴標(biāo)識(shí),如初始化布局initView()

isXX()

?checkXX()方法返回值為boolean型的請(qǐng)使用is或check為前綴標(biāo)識(shí)

getXX()

?返回某個(gè)值的方法,使用get為前綴標(biāo)識(shí)

processXX()?

?對(duì)數(shù)據(jù)進(jìn)行處理的方法,盡量使用process為前綴標(biāo)識(shí)

displayXX()

?彈出提示框和提示信息,使用display為前綴標(biāo)識(shí)

saveXX()

?與保存數(shù)據(jù)相關(guān)的,使用sav為e前綴標(biāo)識(shí)

resetXX()

?對(duì)數(shù)據(jù)重組的,使用reset前綴標(biāo)識(shí)

clearXX()

?清除數(shù)據(jù)相關(guān)的

removeXXX()?

?清除數(shù)據(jù)相關(guān)的

drawXXX()

?繪制數(shù)據(jù)或效果相關(guān)的,使用draw前綴標(biāo)識(shí)

?

5 變量(variables):采用小駝峰命名法。類中控件名稱必須與xml布局id保持一致。

用統(tǒng)一的量詞通過在結(jié)尾處放置一個(gè)量詞,就可創(chuàng)建更加統(tǒng)一的變量,它們更容易理解,也更容易搜索。例如,請(qǐng)使用strCustomerFirst和strCustomerLast,而不要使用strFirstCustomer和strLastCustomer。

量詞

量詞后綴說明

First

?一組變量中的第一個(gè)

Last

?一組變量中的最后一個(gè)

Next

?一組變量中的下一個(gè)

Prev

?一組變量中的上一個(gè)

Cur

?一組變量中的當(dāng)前變量


6 常量(Constants):全部大寫,采用下劃線命名法。例如:MIN_WIDTH

?

7 資源文件(圖片drawable文件夾下):全部小寫,采用下劃線命名法,加前綴區(qū)分

命名模式:activity名稱_邏輯名稱/common_邏輯名稱

如果有多種形態(tài)如按鈕等除外如btn_xx.xml(selector)

名稱

功能

btn_xx

?按鈕圖片使用btn_整體效果selector

btn_xx_normal

?按鈕圖片使用btn_正常情況效果

btn_xx_press

?按鈕圖片使用btn_點(diǎn)擊時(shí)候效果

bg_head

?背景圖片使用bg_功能_說明

def_search_cell

?默認(rèn)圖片使用def_功能_說明

icon_more_help

?圖標(biāo)圖片使用icon_功能_說明

seg_list_line

?具有分隔特征的圖片使用seg_功能_說明

sel_ok

?選擇圖標(biāo)使用sel_功能_說明

命名后綴:

后綴

說明

unit ? ? ? ? ? ? ? ? ? ? ? ? ? ??

?在使用xml的tilemode來配圖片時(shí),element圖片使用此后綴

nor

?圖片的狀態(tài),代表普通狀態(tài)

hl

?圖片的狀態(tài),代表高亮狀態(tài)

press

?圖片的狀態(tài),代表按下狀態(tài)

select

?圖片的狀態(tài),代表其所占的view被選中

unselect

圖片的狀態(tài),代表其所占的view沒有被選中

?

8 資源布局文件(XML文件(layout布局文件)):全部小寫,采用下劃線命名法

1).contentview命名,?Activity默認(rèn)布局,以去掉后綴的Activity類進(jìn)行命名。不加后綴:

功能模塊.xml

例如:main.xml、more.xml、settings.xml

或則:activity_功能模塊.xml

例如:activity_main.xml、activity_more.xml

2).Dialog命名:dialog_描述.xml

例如:dlg_hint.xml

2).PopupWindow命名:ppw_描述.xml

例如:ppw _info.xml

3).?列表項(xiàng)命名listitem_描述.xml

例如:listitem_city.xml

4).包含項(xiàng):include_模塊.xml

例如:include_head.xml、include_bottom.xml

5).adapter的子布局:功能模塊_item.xml

例如:main_item.xml

?

9 動(dòng)畫文件(anim文件夾下):全部小寫,采用下劃線命名法,加前綴區(qū)分。

//前面為動(dòng)畫的類型,后面為方向

動(dòng)畫命名例子

規(guī)范寫法

fade_in

淡入

fade_out

淡出

push_down_in

從下方推入

push_down_out

從下方推出

push_left

推像左方

slide_in_from_top

從頭部滑動(dòng)進(jìn)入

zoom_enter

變形進(jìn)入

slide_in

滑動(dòng)進(jìn)入

shrink_to_middle

中間縮小

?

10 資源ID(resourcesid):大小寫規(guī)范與方法名一致,采用小駝峰命名法。命名規(guī)范為“資源控件的縮寫名”+“變量名”。

注意:頁面控件名稱應(yīng)該和控件id名保持一致

strings.xml,colors.xml等中的id命名:

命名模式:activity名稱_功能模塊名稱_邏輯名稱/activity名稱_邏輯名稱/common_邏輯名稱

strings.xml中,使用activity名稱注釋,將文件內(nèi)容區(qū)分開來

?

11 layout中的id命名

命名模式為:view縮寫_模塊名稱_view的邏輯名稱

view的縮寫詳情如下:

控件

縮寫

LayoutView

lv

RelativeView

rv

TextView

tv

Button

btn

ImageButton????????

imgBtn

ImageView?????????

mgView?或則?iv

CheckBox???????????

chk

RadioButton????????

rdoBtn

analogClock????????

anaClk

DigtalClock????????

dgtClk

DatePicker?????????

dtPk

EditText ??????????

edtTxt

TimePicker ????????

tmPk

toggleButton ??????

tglBtn

ProgressBar?

proBar

SeekBar????????????????????????????

skBar

AutoCompleteTextView

autoTxt

ZoomControls???????

zmCtl

VideoView??????????

vdoVi

WdbView????????????

webVi

RantingBar?????????

ratBar

Tab????????????????

tab

Spinner????????????

spn

Chronometer????????

cmt

ScollView??????????

sclVi

TextSwitch?????????

txtSwt

ImageSwitch????????

imgSwt

listView???????????

lVi?或則lv

ExpandableList?????

epdLt

MapView????????????

mapVi

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

12 activity中的view變量命名

命名模式為:邏輯名稱+view縮寫

建議:如果layout文件很復(fù)雜,建議將layout分成多個(gè)模塊,每個(gè)模塊定義一個(gè)moduleViewHolder,其成員變量包含所屬view

13.styles.xml:將layout中不斷重現(xiàn)的style提煉出通用的style通用組件,放到styles.xml中;

14.使用layer-list和selector

?

轉(zhuǎn)自 《Android 命名規(guī)范 (提高代碼可以讀性)》

轉(zhuǎn)載于:https://www.cnblogs.com/codingmengmeng/p/6560147.html

總結(jié)

以上是生活随笔為你收集整理的【转】代码命名规范的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。