Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發代碼規范

Android開發代碼規范

編輯:關於Android編程

Android開發代碼規范

1.命名基本原則
在面向對象編程中,對於類,對象,方法,變量等方面的命名是非常有技巧的。比如,大小寫的區分,使用不同字母開頭等等。但究其本,追其源,在為一個資源其名稱的時候,應該本著描述性以及唯一性這兩大特征來命名,才能保證資源之間不沖突,並且每一個都便於記憶。

對於理解應用程序的邏輯流,命名方案是最有影響力的一種幫助。名稱應該說明“什麼”而不是“如何”。命名原則是:使名稱足夠長以便有一定的意義,並且足夠短以避免冗長。唯一名稱在編程上僅用於將各項區分開。以下幾點是規范的命名方法。

2.命名基本規范

2.1.編程基本命名規范
(1)避免難懂的名稱,如屬性名xxK8,這樣的名稱會導致多義性。
(2) 在面向對象的語言中,在類屬性的名稱中包含類名是多余的,如Book.BookTitle,而是應該使用Book.Title。
(3)在允許函數重載的語言中,所有重載都應該執行相似的函數。

(4)使用動詞-名詞的方法來命名對給定對象執行特定操作的例程,如CalculateInvoiceTotal()。(例程是某個系統對外提供的功能接口或服務的集合)

(5)只要合適,在變量名的末尾或開頭加計算限定符(Avg、Sum、Min、Max、Index)。
(6)在變量名中使用互補對,如min/max、begin/end和open/close。

(7)布爾變量名應該包含Is,這意味著Yes/No 或 True/False 值,如 fileIsFound。

(8)即使對於可能僅出現在幾個代碼行中的生存期很短的變量,仍然使用有意義的名 稱。僅對於短循環索引使用單字母變量名,如 i 或 j。

(9)為了幫助區分變量和例程,對例程名稱使用Pascal大小寫處理 (CalculateInvoiceTotal),其中每個單詞的第 一個字母都是大寫的。對於變量名,使用 camel大小寫處理 (documentFormatType),其中除了第一個單詞外每個單詞的第一個字母都是大寫的。

(10)不要使用原義數字或原義字符串,而是使用命名常數,NUM_DAYS_IN_WEEK ,以便於維護和理解。

2.2.分類命名規范

(1)包的命名  

  Java包的名字都是由小寫單詞組成。但是由於Java面向對象編程的特性,每一名Java程序員都可以編寫屬於自己的Java包,為了保障每個Java包命名的唯一性,在最新的Java編程規范中,要求程序員在自己定義的包的名稱之前加上唯一的前綴。由於互聯網上的域名稱是不會重復的,所以程序員一般采用自己在互聯網上的域名稱作為自己程序包的唯一前綴。

  例如: net.frontfree.javagroup

(2)類的命名

   類的名字必須由大寫字母開頭而單詞中的其他字母均為小寫;如果類名稱由多個單詞組成,則每個單詞的首字母均應為大寫例如TestPage;如果類名稱中包含單詞縮寫,則這個縮寫詞的每個字母均應大寫,如:XMLExample,還有一點命名技巧就是由於類是設計用來代表對象的,所以在命名類時應盡量選擇名詞。   

  例如: Circle

(3)方法的命名

  方法的名字的第一個單詞應以小寫字母作為開頭,後面的單詞則用大寫字母開頭。

  例如: sendMessge

(4).常量的命名

  常量的名字應該都使用大寫字母,並且指出該常量完整含義。如果一個常量名稱由多個單詞組成,則應該用下劃線來分割這些單詞。

  例如: MAX_VALUE

(5)參數的命名

  參數的命名規范和方法的命名規范相同,而且為了避免閱讀程序時造成迷惑,請在盡量保證參數名稱為一個單詞的情況下使參數的命名盡可能明確。

(6)Javadoc注釋

  Java除了可以采用我們常見的注釋方式之外,Java語言規范還定義了一種特殊的注釋,也就是我們所說的Javadoc注釋,它是用來記錄我們代碼中的API的。Javadoc注釋是一種多行注釋,以/**開頭,而以*/結束,注釋可以包含一些HTML標記符和專門的關鍵詞。使用Javadoc注釋的好處是編寫的注釋可以被自動轉為在線文檔,省去了單獨編寫程序文檔的麻煩。

  例如:

/**

* This is an example of

* Javadoc

*

* @author darchon

* @version 0.1, 10/11/2002

*/

  在每個程序的最開始部分,一般都用Javadoc注釋對程序的總體描述以及版權信息,之後在主程序中可以為每個類、接口、方法、字段添加Javadoc注釋,每個注釋的開頭部分先用一句話概括該類、接口、方法、字段所完成的功能,這句話應單獨占據一行以突出其概括作用,在這句話後面可以跟隨更加詳細的描述段落。在描述性段落之後還可以跟隨一些以Javadoc注釋標簽開頭的特殊段落,例如上面例子中的@auther和@version,這些段落將在生成文檔中以特定方式顯示。

雖然為一個設計低劣的程序添加注釋不會使其變成好的程序,但是如果按照編程規范編寫程序並且為程序添加良好的注釋卻可以幫助你編寫出設計完美,運行效率高且易於理解的程序,尤其是在多人合作完成同一項目時編程規范就變得更加重要。俗話說“磨刀不誤砍柴工”,花費一點時間去適應一下Java編程規范是有好處的。

3.分類命名規范

3.1.基本數據類型命名規范

Integer:int+描述 Char:chr+描述 Boolean:bln+描述

Long:lng+描述 Short:shr +描述 Double:dbl+描述

String:str+描述 Float:flt+描述 Single:sng+描述

DataTime:dt+描述 Array:arr+描述 Object:obj+描述

如:String srtName;

3.2.控件命名規范

TextView :txt_+描述

Button :btn_+描述

ImageButton :imgBtn_+描述

ImageView :imgView_+描述

CheckBox :chk_+描述

RadioButton :rdoBtn_+描述

AnalogClock :anaClk_+描述

DigitalClock :DgtClk_+描述

DatePicker :dtPk_+描述

TimePicker :tmPk _+描述

ToggleButton :tglBtn_+描述

EditText:edtTxt_+描述

ProgressBar:lcb_+描述

SeekBar:skBar _+描述

AutoCompleteTextView:autoTxt_+描述

MultiAutoCompleteTextView:mlAutoTxt_+描述

ZoomControls:zmCtrl_+描述

Include:ind_+描述

VideoView:vdoVi_+描述

WebView:webVi_+描述

RatingBar:ratBar_+描述

Tab:tab__+描述

Spinner:spn_+描述

Chronometer:Cmt_+描述

ScrollView:sclVi_+描述

TextSwitcher:txtSwt_+描述

Gallery:gal_+描述

ImageSwitcher:imgSwt_+描述

GridView:gV_+描述

ListView:lVi_+描述

ExpandableList: epdLt_+描述

MapView: mapVi_+描述

控件說明如下:

?TextView - 文本顯示控件

?Button - 按鈕控件

?ImageButton - 圖片按鈕控件

?ImageView - 圖片顯示控件

?CheckBox - 復選框控件

?RadioButton - 單選框控件

?AnalogClock - 鐘表(帶表盤的那種)控件

?DigitalClock - 電子表控件

?DatePicker - 日期選擇控件

?TimePicker - 時間選擇控件

?ToggleButton - 雙狀態按鈕控件

?EditText - 可編輯文本控件

?ProgressBar - 進度條控件

?SeekBar - 可拖動的進度條控件

?AutoCompleteTextView - 支持自動完成功能的可編輯文本控件

?MultiAutoCompleteTextView - 支持自動完成功能的可編輯文本控件,允許輸入多值(多值之間會自動地用指定的分隔符 分開)

?ZoomControls - 放大/縮小按鈕控件

?Include - 整合控件

?VideoView - 視頻播放控件

?WebView - 浏覽器控件

?RatingBar - 評分控件

?Tab - 選項卡控件

?Spinner - 下拉框控件

?Chronometer - 計時器控件

?ScrollView - 滾動條控件

?TextSwitcher - 文字轉換器控件(改變文字時增加一些動畫效果)

?Gallery –畫廊控件

?ImageSwitcher - 圖片轉換器控件(改變圖片時增加一些動畫效果)

?GridView - 網格控件

?ListView - 列表控件

?ExpandableList - 支持展開/收縮功能的列表控件

3.3.變量命名規范

變量命名:前綴+類型描述+意義描述

前綴:

成員變量:m_*** 局部變量:l_*** 形參:a_***

常量:大寫_*** 枚舉值:em_***

3.4.程序規范

工程的命名為:描述

應用程序名的命名為:描述+App


4.代碼書寫規范
(1)建立標准的縮進大小(如四個空格),並一致地使用此標准。用規定的縮進對齊代碼節。

(2)在發布源代碼的硬拷貝版本時使用特定的字體以及字號(新宋體、小五號)。
(3)在括號對對齊的位置垂直對齊左括號和右括號,如:
for (i=0; i<100; i++)
{
;
}
(4)沿邏輯結構行縮進代碼使代碼更易於閱讀和理解,如:
if(expression)
{
if(expression )
{
//
//此處填寫你的代碼塊;
//
}
else
{
//
//此處填寫你的代碼塊;
//
}
}
(5)為注釋和代碼建立最大的行長度,以避免不得不滾動源代碼編輯器,並且可以提供整齊的硬拷貝表示形式。
(6)當一行內容太長而必須換行時,在後面換行代碼中要使用縮進格式,如下:
string inserString ="Insert Into TableName(username,password,email,sex,address) "
+"Values( 'Soholife ', 'chenyp ', '[email protected] ', 'male ', '深圳福田 ') ";
(7)每一行上放置的語句避免超過一條。特殊循環如for(i =0;i<100;i++)等除外。
(8)編寫SQL語句時,對於關鍵字使用全部大寫,對於數據庫元素(如表、列和視圖)使用大小寫混合。例如SELECT * FROM Table1;
(9)將每個主要的SQL子句放在不同的行上,這樣更容易閱讀和編輯語句,例如:

SELECT FirstName, LastName
FROM Customers
WHERE State = 'WA '

(10)在物理文件之間在邏輯上劃分源代碼。

(11)使用空白為源代碼提供結構線索。這樣做會創建代碼“段”,有助於讀者理解軟件的邏輯分段
(12)將大的復雜代碼段分為較小的、易於理解的模塊。

5.注釋
軟件文檔以兩種形式存在:外部的和內部的。外部文檔(如規范、幫助文件和設計文檔)在源代碼的外部維護。內部文檔由開發人員在開發時在源代碼中編寫的注釋組成。
不考慮外部文檔的可用性,由於硬拷貝文檔可能會放錯地方,源代碼清單應該能夠獨立存在。外部文檔應該由規范、設計文檔、更改請求、錯誤歷史記錄和使用的編碼標准組成。 以下幾點是規范的注釋方法:

(1)一個工程應有一個統一的頭文件注釋,以說明整個工程的信息、創建日期、版本等等

(2)對重要的程序加注釋進行說明

(3)修改代碼或刪除時,將原代碼用注釋的方法屏蔽,同時要加開發者自身對修改操作的注釋。格式為:

//原代碼

//Added/(Modified/ Deleted) by 開發者姓名 年-月-日;

//因為業務原因修改的,要注明修改或刪除原因)

新代碼
(4)使用XML文檔格式,如下面方法的注釋:
///


/// 得到某人的年齡
///

/// 用戶名
/// 用戶年齡
public int GetUserAge(string userName)
{
//
//此處寫你的程序代碼
//
}

(5)避免雜亂的注釋,而是應該使用空白將注釋同代碼分開。
(6)移除所有臨時或無關的注釋,以避免在日後的維護工作中產生混亂。
(7)注釋應對代碼進行准確的說明,不應存在歧義。
(8)在整個應用程序中,使用具有一致的標點和結構的統一樣式來構造注釋。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved