Android開發規範——命名

來源:互聯網
上載者:User

標籤:android   使用   strong   檔案   width   資料   

 在講解命名規範前,先初略介紹下當前主要的標識符命名法和英文縮寫規則。

標識符命名法

標識符命名法最要有四種:

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

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

3 底線命名法:單詞與單詞間用底線做間隔。

4 匈牙利命名法:廣泛應用於微軟編程環境中,在以Pascal命名法的變數前附加小寫序列說明該變數的類型。 量的取名方式為:<scope_> + <prefix_> + <qualifier> 範圍首碼,類型首碼,限定詞。

個人覺得標識符命名原則:儘可能的用最少的字元而又能完整的表達標識符的含義。

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

下面為常見的英文單詞縮寫:
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)
程式中使用單詞縮寫原則:不要用縮寫,除非該縮寫是約定俗成的。

命名規範:

1 包(packages): 採用反網域名稱命名規則,全部使用小寫字母。一級包名為com,二
級包名為anjoyo,三級包名根據應用進行命名,四級包名為模組名或層級名


例如:
com.anjoyo.應用.activities    此包中包含:頁面用到的Activity類 (activities層級名 使用者介面層)
com.anjoyo.應用.tools    此包中包含:公用工具方法類 (tools 模組名)
com.anjoyo.應用.db    此包中包含:資料庫操作類
com.anjoyo.應用.custom    此包中包含:自訂的View類等
com.anjoyo.應用.service    此包中包含:Service服務
com.anjoyo.應用.broadcast    此包中包含:Broadcast服務

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

activity 類   Aty為尾碼標識,如歡迎頁面類WelcomeAty.
Adapter類    Adp為尾碼標識,如商品詳情適配器ProductDetailAdp
解析類       Hlr為尾碼標識,如首頁解析類HomePosterHlr
公用方法類  Tools或Manager為尾碼標識。如:線程池管理類:ThreadPoolManager
            日誌工具類:LogTools
資料庫類    以DBHelper尾碼標識。如城市資料庫:CityDBHelper
Service類   以Service為尾碼標識
BroadcastReceive  以Broadcast為尾碼標識
ContentProvider   以Provider為尾碼標識

3 介面(interface):命名規則與類一樣採用大駝峰命名法,多以able或ible結尾,如interface Runna ble ;
                     interface Accessible 。

4 方法(methods):動詞或動名詞,採用小駝峰命名法 例如:onCreate(),run()

initXXX()    初始化相關方法,使用init為首碼標識
isXXX()      checkXXX() 方法傳回值為boolean型的請使用is或check為首碼標識
getXXX()     返回某個值的方法,使用get為首碼標識
processXXX() 對資料進行處理的方法,盡量使用process為首碼標識
displayXXX() 彈出提示框和提示資訊,使用display為首碼標識
saveXXX()    與儲存資料相關的,使用sav為e首碼標識
resetXXX()   對資料重組的,使用reset首碼標識
clearXXX()removeXXX()  清除資料相關的,使用clear或remove為首碼標識
drawXXX()     繪製資料或效果相關的,使用draw首碼標識

5 變數(variables)採用小駝峰命名法。類中控制項名稱必須與xml布局id保持一致。

1 View變數命名:控制項類型描述 + 意義描述
控制項               縮寫
TextView           txt
Button             btn
ImageButton        imgBtn
ImageView          imgView
CheckBox           chk
RadioButton        rdoBtn
analogClock        anaClk
DigtalClock        dgtClk
DatePicker         dtPk
TimePicker         tmPk
toggleButton       tglBtn
EditText           edtTxt
ProgressBar proBar    proBar
SeekBar                            skBar
AutoCompleteTextView autoTxt
ZoomControls       zmCtl
Include            ind
VideoView          vdoVi
WdbView            webVi
RantingBar         ratBar
Tab                tab
Spinner            spn
Chronometer        cmt
ScollView          sclVi
TextSwitch         txtSwt
ImageSwitch        imgSwt
listView           lVi
ExpandableList     epdLt
MapView            mapVi

用統一的量詞通過在結尾處放置一個量詞,就可建立更加統一的變數,它們更容易理解,也更容易搜尋。例如,請使用strCustomerFirst和strCustomerLast,而不要使用strFirstCustomer和strLastCustomer。
量詞列表:量詞尾碼說明
First  一組變數中的第一個
Last   一組變數中的最後一個
Next   一組變數中的下一個變數
Prev   一組變數中的上一個
Cur    一組變數中的當前變數
 
6 常量(constants)全部大寫,採用底線命名法.例如:MIN_WIDTH

7 XML檔案(布局檔案):全部小寫,採用底線命名法
  1.Activity預設布局,以去掉尾碼的Activity類進行命名。不加尾碼
  2.Activity子布局,父布局名稱開始,追加item 和子布局功能說明。
例如:Activity預設布局:homeposter.xml   子布局為homeposter_item_poster.xml

8 資源檔(圖片): 全部小寫,採用底線命名法,加首碼區分

btn_login_normal

按鈕圖片使用btn_功能_說明

bg_head

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

def_search_cell

預設圖片使用def_功能_說明

icon_more_help

表徵圖圖片使用icon_功能_說明

seg_list_line

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

sel_ok

選擇表徵圖使用sel_功能_說明


9   動畫檔案(anim包):全部小寫,採用底線命名法,加首碼區分。

 

動畫命名例子

規範寫法

備忘

click_head_left

點擊背景切換動畫使用click首碼標識

 

bg_shape_rectangle

背景自訂圖形使用bg首碼標識

 

show_shopcar_add

小動畫效果使用show首碼標識

 


10     資源ID(resources id):大小寫規範與方法名一致,採用小駝峰命名法。命名規範為“資原始檔控制的縮寫  名”+“變數名”。注意:頁面控制項名稱應該和控制項id名保持一致

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.