學(xué)習(xí)Java的童鞋們都知道吕漂,Java的包亲配、類、借口惶凝、方法吼虎、變量、常量苍鲜;JavaEE的三層模型等都有一套約定俗成的命名規(guī)則思灰。
我學(xué)習(xí)每種語言都會關(guān)注相應(yīng)的命名規(guī)則,一則體現(xiàn)自己比較專業(yè)混滔;二來方便后檢查洒疚,看到名稱就知道是屬于什么類型、占用多少內(nèi)存坯屿、使用是否正確等油湖;三又可以供其他人參考。
當然领跛,學(xué)習(xí)Java也不例外乏德,每次新建Java Project的時候都會想一下命名方式,尤其是對JavaPackage的命名吠昭。起初學(xué)習(xí)Java的時候都會推敲一番鹅经,該怎么命名所建立的JavaPackage,后來給自己約定俗成了怎诫,推敲少了瘾晃,但命名確更規(guī)范了。
下面正式進入主題幻妓,講講我對Java Package命名規(guī)則的一些思考蹦误。
Java的包名都有小寫單詞組成,類名首字母大寫肉津;包的路徑符合所開發(fā)的 系統(tǒng)模塊的定義强胰,比如生產(chǎn)對生產(chǎn),物資對物資妹沙,基礎(chǔ)類對基礎(chǔ)類偶洋。以便看了包名就明白是哪個模塊,從而直接到對應(yīng)包里找相應(yīng)的實現(xiàn)距糖。
由于Java面向?qū)ο蟮奶匦孕眩棵鸍ava開發(fā)人員都可以編寫屬于自己的Java Package牵寺,為了保障每個JavaPackage命名的唯一性,在最新的Java編程規(guī)范中恩脂,要求開發(fā)人員在自己定義的包名前加上唯一的前綴帽氓。由于互聯(lián)網(wǎng)上的域名稱是不會重復(fù)的,所以多數(shù)開發(fā)人員采用自己公司在互聯(lián)網(wǎng)上的域名稱作為自己程序包的唯一前綴俩块。例如:com.sun.swt.……黎休。
從而,我們知道玉凯,一般公司命名為“com.公司名.項目名.模塊名....”势腮。
那,我們個人的項目又怎么命名呢漫仆?
經(jīng)過我對“個人的”單詞搜索嫉鲸,有“individual、personal歹啼、private、one-man”座菠,進一步對以上4個單詞詞意的分析狸眼,并在保證了唯一性,使用每個單詞的前4個字母作為前綴浴滴,正好和“com”也做了區(qū)分拓萌。如下:
indi:
個體項目,指個人發(fā)起升略,但非自己獨自完成的項目微王,可公開或私有項目,copyright主要屬于發(fā)起者品嚣。
包名為“indi.發(fā)起者名.項目名.模塊名.……”炕倘。
pers:
個人項目,指個人發(fā)起翰撑,獨自完成罩旋,可分享的項目,copyright主要屬于個人眶诈。
包名為“pers.個人名.項目名.模塊名.……”涨醋。
priv:
私有項目,指個人發(fā)起逝撬,獨自完成浴骂,非公開的私人使用的項目,copyright屬于個人宪潮。
包名為“priv.個人名.項目名.模塊名.……”溯警。
onem:
與“indi”相同趣苏,推薦使用“indi”。
另外愧膀,我為了區(qū)分團隊項目和前面所說項目的區(qū)分拦键,還有了一下擴展:
team:
團隊項目,指由團隊發(fā)起檩淋,并由該團隊開發(fā)的項目芬为,copyright屬于該團隊所有。
包名為“team.團隊名.項目名.模塊名.……”蟀悦。
com:
公司項目媚朦,copyright由項目發(fā)起的公司所有。
包名為“com.公司名.項目名.模塊名.……”日戈。
轉(zhuǎn)自:http://blog.sina.com.cn/s/blog_a599b5960101r4rp.html
補充:
下面是一個典型的目錄結(jié)構(gòu):