http://bbs.csdn.net/topics/70157841? 關(guān)于JAVA源文件命名的問題
Java文件命名:
java程序是由類組成的猬膨;
java應(yīng)用程序必須有一個(gè)包含main方法的public類馍悟,main方法是程序的入口袍嬉;
java源文件的命名規(guī)則:
如果有public類赤嚼,那么源文件名就是public類名(一個(gè)文件中只能有一個(gè)public類)调限,而類名命名規(guī)則是:類的名字必須由大寫字母開頭而單詞中的其他字母均為小寫仰泻;如果類名稱由多個(gè)單詞組成伐憾,則每個(gè)單詞的首字母均應(yīng)為大寫,如果類名稱中包含單詞縮寫秒际,則這個(gè)所寫詞的每個(gè)字母均應(yīng)大寫悬赏,命名類時(shí)應(yīng)盡量選擇名詞。
如果沒有public類娄徊,就和遵循文件名命名規(guī)則闽颇;
1.一個(gè).java文件只能有1個(gè)public class
(暗示可以沒有)
2.如果有public class,那么文件名必須與修飾符為public的類名相同
(暗示,沒有的話文件名可以隨便起)
其他:
定義規(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類名通常以大寫字母開頭奠涌,如果類名稱由多個(gè)單詞組成,則每個(gè)單詞的首字母均應(yīng)為大 寫例如TestPage磷杏;如果類名稱中包含單詞縮寫溜畅,則這個(gè)所寫詞的每個(gè)字母均應(yīng)大寫,如:XMLExample,還有一點(diǎn)命名技巧就是由于類是設(shè)計(jì)用來 代表對(duì)象的极祸,所以在命名類時(shí)應(yīng)盡量選擇名詞慈格。
例如: Graphics
方法的命名(首字母小寫,字母開頭大寫)
方法的名字的第一個(gè)單詞應(yīng)以小寫字母作為開頭遥金,后面的單詞則用大寫字母開頭浴捆。
例如:drawImage
常量的命名(全部大寫 ,常加下劃線)
常量的名字應(yīng)該都使用大寫字母汰规,并且指出該常量完整含義汤功。如果一個(gè)常量名稱由多個(gè)單詞組成,則應(yīng)該用下劃線來分割這些單詞溜哮。
例如:MAX_VALUE
參數(shù)的命名
參數(shù)的命名規(guī)范和方法的命名規(guī)范相同滔金,而且為了避免閱讀程序時(shí)造成迷惑,請(qǐng)?jiān)诒M量保證參數(shù)名稱為一個(gè)單詞的情況下使參數(shù)的命名盡可能明確茂嗓。
Javadoc注釋
Java除了可以采用我們常見的注釋方式之外餐茵,Java語言規(guī)范還定義了一種特殊的注釋,也就是我們 所說的Javadoc注釋述吸,它是用來記錄我們代碼中的API的忿族。Javadoc注釋是一種多行注釋,以/**開頭蝌矛,而以*/結(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è)程序的最開始部分,一般都用Javadoc注釋對(duì)程序的總體描述以及版權(quán)信息茅逮,之后在主程序中 可以為每個(gè)類璃赡、接口、方法献雅、字段添加 Javadoc注釋碉考,每個(gè)注釋的開頭部分先用一句話概括該類、接口挺身、方法侯谁、字段所完成的功能,這句話應(yīng)單獨(dú)占據(jù)一行以突出其概括作用,在這句話后面可以跟 隨更加詳細(xì)的描述段落良蒸。在描述性段落之后還可以跟隨一些以Javadoc注釋標(biāo)簽開頭的特殊段落技扼,例如上面例子中的@auther和@version,這 些段落將在生成文檔中以特定方式顯示嫩痰。
變量和常量命名
變量的命名
主要的的命名規(guī)范有以下三種:
Camel 標(biāo)記法:首字母是小寫的,接下來的單詞都以大寫字母開頭
Pascal 標(biāo)記法:首字母是大寫的,接下來的單詞都以大寫字母開頭
匈牙利標(biāo)記法:在以Pascal標(biāo)記法的變量前附加小寫序列說明該變量的類型
在Java我們一般使用匈牙利標(biāo)記法,基本結(jié)構(gòu)為scope_typeVariableName窍箍,它 使用1-3字符前綴來表示數(shù)據(jù)類型串纺,3個(gè)字符的前綴必須小寫,前綴后面是由表意性強(qiáng)的一個(gè)單詞或多個(gè)單詞組成的名字椰棘,而且每個(gè)單詞的首寫字母大寫纺棺,其它字 母小寫,這樣保證了對(duì)變量名能夠進(jìn)行正確的斷句邪狞。例如祷蝌,定義一個(gè)整形變量,用來記錄文檔數(shù)量:intDocCount帆卓,其中int表明數(shù)據(jù)類型巨朦,后面為表 意的英文名,每個(gè)單詞首字母大寫剑令。這樣糊啡,在一個(gè)變量名就可以反映出變量類型和變量所存儲(chǔ)的值的意義兩方面內(nèi)容,這使得代碼語句可讀性強(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來命名狀態(tài)變量。
· 用Is來命名邏輯變量印机,如:blnFileIsFound矢腻。通過這種給布爾變量肯定形式的命名方式,使得其它開發(fā)人員能夠更為清楚的理解布爾變量所代表的意義射赛。
· 如果需要的話多柑,在變量最后附加計(jì)算限定詞,如:curSalesSum楣责。
· 命名不相包含竣灌,curSales和curSalesSum。
· static final 變量(常量)的名字應(yīng)該都大寫秆麸,并且指出完整含義初嘹。
· 如果需要對(duì)變量名進(jìn)行縮寫時(shí),一定要注意整個(gè)代碼中縮寫規(guī)則的一致性沮趣。例如屯烦,如果在代碼的某些區(qū)域中使用intCnt,而在另一些區(qū)域中又使用intCount房铭,就會(huì)給代碼增加不必要的復(fù)雜性驻龟。建議變量名中盡量不要出現(xiàn)縮寫。
· 通過在結(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ù)類型的要求荧嵌。這類問題極難查找呛踊。
· 盡量縮小變量的作用域。如果變量的作用域大于它應(yīng)有的范圍啦撮,變量可繼續(xù)存在谭网,并且在不再需要該變量后的很長(zhǎng)時(shí)間內(nèi)仍然占用資源。它們的主要問題是赃春,任何類 中的任何方法都能對(duì)它們進(jìn)行修改愉择,并且很難跟蹤究竟是何處進(jìn)行修改的。占用資源是作用域涉及的一個(gè)重要問題聘鳞。對(duì)變量來說薄辅,盡量縮小作用域?qū)?huì)對(duì)應(yīng)用程序的 可靠性產(chǎn)生巨大的影響。
關(guān)于常量的命名方法抠璃,在JAVA代碼中,無論什么時(shí)候脱惰,均提倡應(yīng)用常量取代數(shù)字搏嗡、固定字符串。也就是 說拉一,程序中除0采盒,1以外,盡量不應(yīng)該出現(xiàn)其他數(shù)字蔚润。常量可以集中在程序開始部分定義或者更寬的作用域內(nèi)磅氨,名字應(yīng)該都使用大寫字母,并且指出該常量完整含 義嫡纠。如果一個(gè)常量名稱由多個(gè)單詞組成烦租,則應(yīng)該用下劃線“_”來分割這些單詞如:NUM_DAYS_IN_WEEK、MAX_VALUE除盏。