JAVA項目命名問題

求知若渴 大智若愚

前段時間發過一篇有關java項目中包、類命名的文章,倒是一些基本的東西,今天在網上看到一篇,希望對大家有所幫助!!!

在軟件開發中,命名是非常重要的一個方面。尤其是在團隊開發中大型的項目中,命名的規範不可忽視。開發過大型項目的的軟件工程師都可能遇過這種情況,在項目的命名不規範,導致代碼的可讀性下降,看不懂其他工程師寫的代碼,這是個很嚴重的問題。對於項目後續維護來說,也是不可想像的。除此之外,註釋也一樣不可忽視,尤其在Java開發中。時間久了,有可能你再回頭看你寫的代碼,由於沒有註釋,你也看不懂是什麼意思。所以在此,收集了一些關於在Java開發中命名規範的細節,希望對於Java開發的工程師來說,有點幫助。

1、Java工程包結構命名規範:

     所有的包都以類似於com.accp.ssh06爲前綴,組成的單詞全部都要小寫,單詞與單詞之間以點號分隔。
     注:com代表你屬於什麼組織,比如公司就用com,如果是個人開發的一班用net,如果是開源組織一般用org等。以此類推,accp代表你的公司是什麼名字,比如accp就是一個公司名稱代號,如果是個人的一搬用個人的名字,ssh06代表項目名稱,是什麼項目就用什麼項目名稱。我很喜歡用org開頭,因爲Java是開源免費的。
     當前綴包寫好後就到了具體的功能包結構,以下以com.accp.ssh06爲前綴的例子:

     (1)servlet可以放到com.accp.ssh06.web.servlet包下面;
   (2)struts的action放到com.accp.ssh06.web.action包下面;
     (3)struts的form放到com.accp.ssh06.web.form包下面;
     (4)filter可以放到com.accp.ssh06.web.filter包下面;
   (5)所有的web工程監聽器類放到com.accp.ssh06.web.listener包下面,也就是說所有與web層相關的內容都放到com.accp.ssh06.web下面的子包中;

     (6)所有的業務接口類(包括所有的spring的業務接口)都放到com.accp.ssh06.biz包下面;
     (7)所有業務類的實現類都放到com.accp.ssh06.biz.impl下面;

     (8)所有的數據庫訪問接口都放到com.accp.ssh06.dao包下面;
     (10)所有的數據庫訪問實現類都放到com.accp.ssh06.dao.impl包下面;

     (11)所有的實體類都放到com.accp.ssh06.entity包;

     (12)所有自己構建的值對象(VO)都放到com.accp.ssh06.vo包下面;

     (13)一搬所有的工具類都放到com.accp.ssh06.util包下面;
     (14)一般所有的通用類都放到com.accp.ssh06.common包下面;

     (15)如果工程中有啓動功能的類放到com.accp.ssh06.context包下面。

2、Java類名的命名規範:

     組成類名的每個單詞的首字母要大寫,如: AccpTeacher。而且類的取名要有一定的實在意義,讓人一看就懂,明白你寫的這個類是什麼意思,有什麼用。如:TeacherDaoImpl表示老師類的數據訪問層接口的實現類,裏面實現了Dao中的所有方法。

3、Java變量名和方法名的命名規範:

     組成變量名和方法名的第一個單詞首字母小寫,第二個單詞以後首字母大寫,如:firstChild、createElement()。與Java類名的命名規範一樣,變量名和方法名的命名也要有一定的實際意義,讓團隊成員一看就懂。

4、Java常量名的命名規範:

     組成常量名的所有單詞都要大寫,多個單詞中間用下劃線分隔,如:MAX_NUM。與前面Java類名、變量名和方法名一樣,命名也有實際意義。如:MAX_NUM表示一個數字的最大值,因爲MAX是最大的意思,NUM是數字的意思。這樣,團隊中的其他成員一看就明白。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章