標籤:des java 使用 io 資料 ar 問題 代碼
定義規範的目的是為了使項目的代碼樣式統一,使程式有良好的可讀性。
項目的命名(全部小寫)
全部小寫,比如cms、workdesk,jobserver等
包的命名 (全部小寫,由網域名稱定義)
Java包的名字都是由小寫單片語成。但是由於Java物件導向編程的特性,每一名Java程式員都 可以編寫屬於自己的Java包,為了保障每個Java包命名的唯一性,在最新的Java編程規範中,要求程式員在自己定義的包的名稱之前加上唯一的首碼。 由於互連網上的網域名稱稱是不會重複的,所以程式員一般採用自己在互連網上的網域名稱稱作為自己程式包的唯一首碼。
例如:net.frontfree.javagroup
類的命名 (單字首大寫)
根據約定,Java類名通常以大寫字母開頭,如果類名稱由多個單片語成,則每個單詞的首字母均應為大 寫例如TestPage;如果類名稱中包含單詞縮寫,則這個所寫詞的每個字母均應大寫,如:XMLExample,還有一點命名技巧就是由於類是設計用來 代表對象的,所以在命名類時應盡量選擇名詞。
例如: Graphics
方法的命名 (首字母小寫,字母開頭大寫)
方法的名字的第一個單詞應以小寫字母作為開頭,後面的單詞則用大寫字母開頭。
例如:drawImage
常量的命名 (全部大寫 ,常加底線)
常量的名字應該都使用大寫字母,並且指出該常量完整含義。如果一個常量名稱由多個單片語成,則應該用底線來分割這些單詞。
例如:MAX_VALUE
參數的命名
參數的命名規範和方法的命名規範相同,而且為了避免閱讀程式時造成迷惑,請在盡量保證參數名稱為一個單詞的情況下使參數的命名儘可能明確。
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,這 些段落將在產生文檔中以特定方式顯示。
變數和常量命名
變數的命名
主要的的命名規範有以下三種:
Camel 標記法:首字母是小寫,接下來的單詞都以大寫字母開頭
Pascal 標記法:首字母是大寫的,接下來的單詞都以大寫字母開頭
匈牙利標記法:在以Pascal標記法的變數前附加小寫序列說明該變數的類型
在Java我們一般使用匈牙利標記法,基本結構為scope_typeVariableName,它 使用1-3字元首碼來表示資料類型,3個字元的首碼必須小寫,首碼後面是由表意性強的一個單詞或多個單片語成的名字,而且每個單詞的首寫字母大寫,其它字 母小寫,這樣保證了對變數名能夠進行正確的斷句。例如,定義一個整形變數,用來記錄文檔數量:intDocCount,其中int表明資料類型,後面為表 意的英文名,每個單字首大寫。這樣,在一個變數名就可以反映出變數類型和變數所儲存的值的意義兩方面內容,這使得代碼語句可讀性強、更加容易理解。 byte、int、char、long、float、 double、boolean和short。
資料類型/首碼(附)
byte b
char c
short sh
int i
long l
char c
string s
float f
double d
hashtable h
[] arr
List lst
Vector v
StringBuffer sb
Boolean b
Byte bt
Map map
Object ob
對於在多個函數內都要使用的全域變數,在前面再增加“g_”。例如一個全域的字串變數:g_strUserInfo。
在變數命名時要注意以下幾點:
· 選擇有意義的名字,注意每個單詞首字母要大寫。
· 在一段函數中不使用同一個變數表示前後意義不同的兩個數值。
· i、j、k等只作為小型迴圈的迴圈索引變數。
· 避免用Flag來命名狀態變數。
· 用Is來命名邏輯變數,如:blnFileIsFound。通過這種給布爾變數肯定形式的命名方式,使得其它開發人員能夠更為清楚的理解布爾變數所代表的意義。
· 如果需要的話,在變數最後附加計算限定詞,如:curSalesSum。
· 命名不相包含,curSales和curSalesSum。
· static final 變數(常量)的名字應該都大寫,並且指出完整含義。
· 如果需要對變數名進行縮寫時,一定要注意整個代碼中縮寫規則的一致性。例如,如果在代碼的某些地區中使用intCnt,而在另一些地區中又使用intCount,就會給代碼增加不必要的複雜性。建議變數名中盡量不要出現縮寫。
· 通過在結尾處放置一個量詞,就可建立更加統一的變數,它們更容易理解,也更容易搜尋。例如,請使用 strCustomerFirst和strCustomerLast,而不要使用strFirstCustomer和strLastCustomer。常 用的量詞尾碼有:First(一組變數中的第一個)、Last(一組變數中的最後一個)、Next(一組變數中的下一個變數)、Prev(一組變數中的上 一個)、Cur(一組變數中的當前變數)。
· 為每個變數選擇最佳的資料類型,這樣即能減少對記憶體的需求量,加快代碼的執行速度,又會降低出錯的可能性。用於變數的資料類型可能會影響該變數進行計算所產生的結果。在這種情況下,編譯器不會產生運行期錯誤,它只是迫使該值符合資料類型的要求。這類問題極難尋找。
· 盡量縮小變數的範圍。如果變數的範圍大於它應有的範圍,變數可繼續存在,並且在不再需要該變數後的很長時間內仍然佔用資源。它們的主要問題是,任何類 中的任何方法都能對它們進行修改,並且很難跟蹤究竟是何處進行修改的。佔用資源是範圍涉及的一個重要問題。對變數來說,盡量縮小範圍將會對應用程式的 可靠性產生巨大的影響。
關於常量的命名方法,在JAVA代碼中,無論什麼時候,均提倡應用常量取代數字、固定字串。也就是 說,程式中除0,1以外,盡量不應該出現其他數字。常量可以集中在程式開始部分定義或者更寬的範圍內,名字應該都使用大寫字母,並且指出該常量完整含 義。如果一個常量名稱由多個單片語成,則應該用底線“_”來分割這些單詞如:NUM_DAYS_IN_WEEK、MAX_VALUE