Java文件名及其他命名規(guī)則

http://bbs.csdn.net/topics/70157841? 關(guān)于JAVA源文件命名的問(wèn)題

Java文件命名:

java程序是由類組成的;

java應(yīng)用程序必須有一個(gè)包含main方法的public類,main方法是程序的入口;

java源文件的命名規(guī)則:

如果有public類,那么源文件名就是public類名(一個(gè)文件中只能有一個(gè)public類),而類名命名規(guī)則是:類的名字必須由大寫字母開(kāi)頭而單詞中的其他字母均為小寫;如果類名稱由多個(gè)單詞組成,則每個(gè)單詞的首字母均應(yīng)為大寫,如果類名稱中包含單詞縮寫,則這個(gè)所寫詞的每個(gè)字母均應(yīng)大寫,命名類時(shí)應(yīng)盡量選擇名詞。

如果沒(méi)有public類,就和遵循文件名命名規(guī)則;

1.一個(gè).java文件只能有1個(gè)public class

(暗示可以沒(méi)有)

2.如果有public class,那么文件名必須與修飾符為public的類名相同

(暗示,沒(méi)有的話文件名可以隨便起)

其他:

定義規(guī)范的目的是為了使項(xiàng)目的代碼樣式統(tǒng)一,使程序有良好的可讀性。

包的命名(全部小寫,由域名定義)

Java包的名字都是由小寫單詞組成。但是由于Java面向?qū)ο缶幊痰奶匦裕恳幻鸍ava程序員都 可以編寫屬于自己的Java包,為了保障每個(gè)Java包命名的唯一性,在最新的Java編程規(guī)范中,要求程序員在自己定義的包的名稱之前加上唯一的前綴。 由于互聯(lián)網(wǎng)上的域名稱是不會(huì)重復(fù)的,所以程序員一般采用自己在互聯(lián)網(wǎng)上的域名稱作為自己程序包的唯一前綴。

例如:net.frontfree.javagroup

類的命名(單詞首字母大寫)

根據(jù)約定,Java類名通常以大寫字母開(kāi)頭,如果類名稱由多個(gè)單詞組成,則每個(gè)單詞的首字母均應(yīng)為大 寫例如TestPage;如果類名稱中包含單詞縮寫,則這個(gè)所寫詞的每個(gè)字母均應(yīng)大寫,如:XMLExample,還有一點(diǎn)命名技巧就是由于類是設(shè)計(jì)用來(lái) 代表對(duì)象的,所以在命名類時(shí)應(yīng)盡量選擇名詞。

例如: Graphics

方法的命名(首字母小寫,字母開(kāi)頭大寫)

方法的名字的第一個(gè)單詞應(yīng)以小寫字母作為開(kāi)頭,后面的單詞則用大寫字母開(kāi)頭。

例如:drawImage

常量的命名(全部大寫 ,常加下劃線)

常量的名字應(yīng)該都使用大寫字母,并且指出該常量完整含義。如果一個(gè)常量名稱由多個(gè)單詞組成,則應(yīng)該用下劃線來(lái)分割這些單詞。

例如:MAX_VALUE

參數(shù)的命名

參數(shù)的命名規(guī)范和方法的命名規(guī)范相同,而且為了避免閱讀程序時(shí)造成迷惑,請(qǐng)?jiān)诒M量保證參數(shù)名稱為一個(gè)單詞的情況下使參數(shù)的命名盡可能明確。

Javadoc注釋

Java除了可以采用我們常見(jiàn)的注釋方式之外,Java語(yǔ)言規(guī)范還定義了一種特殊的注釋,也就是我們 所說(shuō)的Javadoc注釋,它是用來(lái)記錄我們代碼中的API的。Javadoc注釋是一種多行注釋,以/**開(kāi)頭,而以*/結(jié)束,注釋可以包含一些 HTML標(biāo)記符和專門的關(guān)鍵詞。使用Javadoc 注釋的好處是編寫的注釋可以被自動(dòng)轉(zhuǎn)為在線文檔,省去了單獨(dú)編寫程序文檔的麻煩。

例如:

/**

* This is an example of

* Javadoc

* @author darchon

* @version 0.1, 10/11/2002

*/

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

變量和常量命名

變量的命名

主要的的命名規(guī)范有以下三種:

Camel 標(biāo)記法:首字母是小寫的,接下來(lái)的單詞都以大寫字母開(kāi)頭

Pascal 標(biāo)記法:首字母是大寫的,接下來(lái)的單詞都以大寫字母開(kāi)頭

匈牙利標(biāo)記法:在以Pascal標(biāo)記法的變量前附加小寫序列說(shuō)明該變量的類型

在Java我們一般使用匈牙利標(biāo)記法,基本結(jié)構(gòu)為scope_typeVariableName,它 使用1-3字符前綴來(lái)表示數(shù)據(jù)類型,3個(gè)字符的前綴必須小寫,前綴后面是由表意性強(qiáng)的一個(gè)單詞或多個(gè)單詞組成的名字,而且每個(gè)單詞的首寫字母大寫,其它字 母小寫,這樣保證了對(duì)變量名能夠進(jìn)行正確的斷句。例如,定義一個(gè)整形變量,用來(lái)記錄文檔數(shù)量:intDocCount,其中int表明數(shù)據(jù)類型,后面為表 意的英文名,每個(gè)單詞首字母大寫。這樣,在一個(gè)變量名就可以反映出變量類型和變量所存儲(chǔ)的值的意義兩方面內(nèi)容,這使得代碼語(yǔ)句可讀性強(qiáng)、更加容易理解。 byte、int、char、long、float、 double、boolean和short。

數(shù)據(jù)類型/前綴(附)

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

對(duì)于在多個(gè)函數(shù)內(nèi)都要使用的全局變量,在前面再增加“g_”。例如一個(gè)全局的字符串變量:g_strUserInfo。

在變量命名時(shí)要注意以下幾點(diǎn):

· 選擇有意義的名字,注意每個(gè)單詞首字母要大寫。

· 在一段函數(shù)中不使用同一個(gè)變量表示前后意義不同的兩個(gè)數(shù)值。

· i、j、k等只作為小型循環(huán)的循環(huán)索引變量。

· 避免用Flag來(lái)命名狀態(tài)變量。

· 用Is來(lái)命名邏輯變量,如:blnFileIsFound。通過(guò)這種給布爾變量肯定形式的命名方式,使得其它開(kāi)發(fā)人員能夠更為清楚的理解布爾變量所代表的意義。

· 如果需要的話,在變量最后附加計(jì)算限定詞,如:curSalesSum。

· 命名不相包含,curSales和curSalesSum。

· static final 變量(常量)的名字應(yīng)該都大寫,并且指出完整含義。

· 如果需要對(duì)變量名進(jìn)行縮寫時(shí),一定要注意整個(gè)代碼中縮寫規(guī)則的一致性。例如,如果在代碼的某些區(qū)域中使用intCnt,而在另一些區(qū)域中又使用intCount,就會(huì)給代碼增加不必要的復(fù)雜性。建議變量名中盡量不要出現(xiàn)縮寫。

· 通過(guò)在結(jié)尾處放置一個(gè)量詞,就可創(chuàng)建更加統(tǒng)一的變量,它們更容易理解,也更容易搜索。例如,請(qǐng)使用 strCustomerFirst和strCustomerLast,而不要使用strFirstCustomer和strLastCustomer。常 用的量詞后綴有:First(一組變量中的第一個(gè))、Last(一組變量中的最后一個(gè))、Next(一組變量中的下一個(gè)變量)、Prev(一組變量中的上 一個(gè))、Cur(一組變量中的當(dāng)前變量)。

· 為每個(gè)變量選擇最佳的數(shù)據(jù)類型,這樣即能減少對(duì)內(nèi)存的需求量,加快代碼的執(zhí)行速度,又會(huì)降低出錯(cuò)的可能性。用于變量的數(shù)據(jù)類型可能會(huì)影響該變量進(jìn)行計(jì)算所產(chǎn)生的結(jié)果。在這種情況下,編譯器不會(huì)產(chǎn)生運(yùn)行期錯(cuò)誤,它只是迫使該值符合數(shù)據(jù)類型的要求。這類問(wèn)題極難查找。

· 盡量縮小變量的作用域。如果變量的作用域大于它應(yīng)有的范圍,變量可繼續(xù)存在,并且在不再需要該變量后的很長(zhǎng)時(shí)間內(nèi)仍然占用資源。它們的主要問(wèn)題是,任何類 中的任何方法都能對(duì)它們進(jìn)行修改,并且很難跟蹤究竟是何處進(jìn)行修改的。占用資源是作用域涉及的一個(gè)重要問(wèn)題。對(duì)變量來(lái)說(shuō),盡量縮小作用域?qū)?huì)對(duì)應(yīng)用程序的 可靠性產(chǎn)生巨大的影響。

關(guān)于常量的命名方法,在JAVA代碼中,無(wú)論什么時(shí)候,均提倡應(yīng)用常量取代數(shù)字、固定字符串。也就是 說(shuō),程序中除0,1以外,盡量不應(yīng)該出現(xiàn)其他數(shù)字。常量可以集中在程序開(kāi)始部分定義或者更寬的作用域內(nèi),名字應(yīng)該都使用大寫字母,并且指出該常量完整含 義。如果一個(gè)常量名稱由多個(gè)單詞組成,則應(yīng)該用下劃線“_”來(lái)分割這些單詞如:NUM_DAYS_IN_WEEK、MAX_VALUE。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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