<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    zongxing

    沒有邁不過去的坎!

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      14 隨筆 :: 16 文章 :: 33 評論 :: 0 Trackbacks
     
    來源:yjhmily - BlogJava

    一、規(guī)范存在的意義

    應用編碼規(guī)范對于軟件本身和軟件開發(fā)人員而言尤為重要,有以下幾個原因:

    1、好的編碼規(guī)范可以盡可能的減少一個軟件的維護成本 , 并且?guī)缀鯖]有任何一個軟件,在其整個生命周期中,均由最初的開發(fā)人員來維護;

    2、好的編碼規(guī)范可以改善軟件的可讀性,可以讓開發(fā)人員盡快而徹底地理解新的代碼;

    3、好的編碼規(guī)范可以最大限度的提高團隊開發(fā)的合作效率;

    4、長期的規(guī)范性編碼還可以讓開發(fā)人員養(yǎng)成好的編碼習慣,甚至鍛煉出更加嚴謹?shù)乃季S;

    二、命名規(guī)范

    1、一般概念

    1、盡量使用完整的英文描述符

    2、采用適用于相關(guān)領(lǐng)域的術(shù)語

    3、采用大小寫混合使名字可讀

    4、盡量少用縮寫,但如果用了,必須符合整個工程中的統(tǒng)一定義

    5、避免使用長的名字(小于 15 個字母為正常選擇)

    6、避免使用類似的名字,或者僅僅是大小寫不同的名字

    7、避免使用下劃線(除靜態(tài)常量等)

    2、標識符類型說明

    1、包( Package )的命名

    Package 的名字應該采用完整的英文描述符,都是由一個小寫單詞組成。并且包名的前綴總是一個頂級域名,

    通常是 com、edu、gov、mil、net、org 等;
    如: com.yjhmily.test

    2、類( Class )的命名

    類名應該是個一名詞,采用大小寫混合的方式,每個單詞的首字母大寫。盡量保證類名簡潔而富于描述。

    使用完整單詞,避免縮寫詞 ( 除非工程內(nèi)有統(tǒng)一縮寫規(guī)范或該縮寫詞被更廣泛使用,像 URL , HTML)

    如: FileDescription

    3、接口( Interface )的命名

    基本與 Class 的命名規(guī)范類似。在滿足 Classd 命名規(guī)則的基礎之上,保證開頭第一個字母為 ”I”,

    便于與普通的 Class區(qū)別開。其實現(xiàn)類名稱取接口名的第二個字母到最后,且滿足類名的命名規(guī)范;

    如: IMenuEngine

    4、枚舉( Enum )的命名

    基本與 Class 的命名規(guī)范類似。在滿足 Classd 命名規(guī)則的基礎之上,保證開頭第一個字母為 ”E” ,

    便于與普通的 Class區(qū)別開。
    如: EUserRole

    5、異常( Exception )的命名

    異常( Exception ) 通常采用字母 e 表示異常,對于自定義的異常類,其后綴必須為 Exception

    如: BusinessException

    6、方法( Method )的命名

    方法名是一個動詞,采用大小寫混合的方式,第一個單詞的首字母小寫,其后單詞的首字母大寫。

    方法名盡可能的描述出該方法的動作行為。返回類型為 Boolean 值的方法一般由“ is ”或“ has ”來開頭

    如: getCurrentUser() 、 addUser() 、 hasAuthority()

    7、參數(shù)( Param )的命名

    第一個單詞的首字母小寫,其后單詞的首字母大寫。參數(shù)量名不允許以下劃線或美元符號開頭,

    雖然這在語法上是允許的。參數(shù)名應簡短且富于描述。

    如: public UserContext getLoginUser(String loginName);

    8、常量字段 ( Constants )的命名

    靜態(tài)常量字段( static final ) 全部采用大寫字母,單詞之間用下劃線分隔;

    如: public static final Long FEEDBACK;
    public static Long USER_STATUS;

    三、注釋規(guī)范

    一個很好的可遵循的有關(guān)注釋的經(jīng)驗法則是:

    問問你自己,你如果從未見過這段代碼,要在合理的時間內(nèi)有效地明白這段代碼,你需要一些什么信息???

    1、一般概念

    1、注釋應該增加代碼的清晰度

    2、保持注釋的簡潔

    3、在寫代碼之前或同時寫注釋

    4、注釋出為什么做了一些事,而不僅僅是做了什么

    2、注釋哪些部分

    1、Java 文件:必須寫明版權(quán)信息以及該文件的創(chuàng)建時間和作者;

    2、類:類的目的、即類所完成的功能,以及該類創(chuàng)建的時間和作者名稱;多人一次編輯或修改同一個類時,

    應在作者名稱處出現(xiàn)多人的名稱;

    3、接口: 在滿足類注釋的基礎之上,接口注釋應該包含設置接口的目的、它應如何被使用以及如何不被使用。

    在接口注釋清楚的前提下對應的實現(xiàn)類可以不加注釋;

    4、方法注釋: 對于設置 (Set 方法 ) 與獲取 (Get 方法 ) 成員的方法,在成員變量已有說明的情況下,

    可以不加注釋;普通成員方法要求說明完成什么功能,參數(shù)含義是什么且返回值什么;另外方法的創(chuàng)建

    時間必須注釋清楚,為將來的維護和閱讀提供寶貴線索;

    5、方法內(nèi)部注釋: 控制結(jié)構(gòu),代碼做了些什么以及為什么這樣做,處理順序等,特別是復雜的邏輯處理部分,

    要盡可能的給出詳細的注釋;

    6、參數(shù): 參數(shù)含義、及其它任何約束或前提條件;

    7、屬性: 字段描述;

    8、局部 ( 中間 ) 變量: 無特別意義的情況下不加注釋;

    3、注釋格式

    遵循工程規(guī)定的統(tǒng)一注釋格式,一般情況下會以 codetemplates.xml 格式的文件導入 IDE(Eclipse)

    或者用Eclipse默認的;

    四、代碼格式規(guī)范

    遵循工程規(guī)定的統(tǒng)一代碼格式,一般情況下直接使用 IDE(Eclipse) 自帶的默認代碼格式對代碼進行格式化;

    五、其他規(guī)范

    JSP 文件命名

    采用完整的英文描述說明 JSP 所完成的功能,盡可能包括一個生動的動詞,第一個字母小寫,

    如: viewMessage.jsp 、editUser.jsp 等。

    六、工程特有命名規(guī)范

    1、持久層

    1、 Hibernate 映射文件及實體

    與數(shù)據(jù)庫表名稱完全對應;
    如: Advertisement.hbm.xml 、 Advertisement.java

    2、數(shù)據(jù)訪問 DAO

    DAO 接口和實現(xiàn)類名稱必須完全符合正常接口和實現(xiàn)類的命名規(guī)則,且最后以 ”DAO” 結(jié)尾

    DAO 內(nèi)的數(shù)據(jù)訪問方法必須足夠抽象的描述出對數(shù)據(jù)庫的基本 CRUD 操作;
    如: ICrossAdDAO( 接口 ) 、 CrossAdDAO( 實現(xiàn)類 )

    3、各種操作數(shù)據(jù)庫的 HQL 配置文件

    HQL 文件的個數(shù)原則上與系統(tǒng)的 Services 層的服務個數(shù)相等,且以服務名稱命名 HQL 文件;

    如: resource.hbm.xml

    2、服務層

    1、服務接口和實現(xiàn)

    服務接口和實現(xiàn)類必須完全符合正常接口和實現(xiàn)類的命名規(guī)則;以工程定義的服務名為主體,

    并統(tǒng)一以 ”Serv” 結(jié)尾
    如: IResourceServ( 服務接口 ) 、 ResourceServ( 接口實現(xiàn)類 )

    2、服務接口方法

    方法名是一個動詞,采用大小寫混合的方式,第一個單詞的首字母小寫,其后單詞的首字母大寫。

    方法名盡可能的描述出該方法的動作行為。

    返回類型為 Boolean 值:用“ is ”或“ has ”來開頭
    得到某數(shù)據(jù): get+ 數(shù)據(jù)描述名詞復數(shù) + 數(shù)據(jù)類型;
    得到所有數(shù)據(jù): get+All+ 數(shù)據(jù)描述名詞復數(shù) + 數(shù)據(jù)類型;
    通過 XXX 得到 / 查詢某數(shù)據(jù): get/query+ 數(shù)據(jù)描述名詞復數(shù) + 數(shù)據(jù)類型 +By+ 條件;
    添加某數(shù)據(jù): save/add+ 數(shù)據(jù)描述名詞 ()
    更新某數(shù)據(jù): save/update+ 數(shù)據(jù)描述名詞;
    刪除某數(shù)據(jù): delete/remove+ 數(shù)據(jù)描述名詞;

    3、業(yè)務對象

    業(yè)務名稱 +BO

    4、查詢參數(shù)對象

    凡是繼承 Abst***QuerySpec 的查詢參數(shù)類全部滿足以下規(guī)則:
    Query+ 所要查詢的數(shù)據(jù)描述名詞 +Spec
    作為參數(shù)傳入時,參數(shù)名必須為:所要查詢的數(shù)據(jù)描述名詞 +Spec
    如: QueryProgramSpec

    3、MVC 層

    1、Action 控制層

    Action 類名:功能模塊名稱 +Action ;
    Actoin 方法名稱盡可能的描述出頁面遷移的去向
    如: LoginAction( 登錄用 action) , toWelcome( 轉(zhuǎn)向歡迎頁的 action 方法 )

    2、資源文件

    系統(tǒng)全局資源文件: globalMessages_+ 字符編碼類型 +.properties
    功能模塊內(nèi)部的資源文件: package.properties

    4、Spring 配置文件

    1、Action 相關(guān)配置文件
    文件目錄: WebRoot/WEB-INF/spring/action/ 功能模塊名稱 +_ApplicationContext.xml

    2、Services 相關(guān)配置文件

    文件目錄: WebRoot/WEB-INF/spring/services/Services_ApplicationContext.xml

    3、全局性配置文件

    文件目錄: WebRoot/WEB-INF/spring/工程名+_ApplicationContext.xml

    5、JSP 文件

    采用完整的英文描述說明 JSP 所完成的功能,盡可能包括一個生動的動詞,第一個字母小寫,
    如: viewMessage.jsp 、editUser.jsp 等。
    posted on 2007-10-12 10:08 zongxing 閱讀(255) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 国产成人综合亚洲AV第一页| 亚洲精品乱码久久久久蜜桃 | 亚洲精品无码专区| 91精品免费在线观看| 亚洲午夜精品一区二区| 中文字幕免费不卡二区| 久久亚洲私人国产精品| 99精品视频在线视频免费观看| 久久久久亚洲精品美女| 亚洲美女视频免费| 亚洲视频免费在线观看| 2021在线观看视频精品免费| 久久久久se色偷偷亚洲精品av| 妞干网手机免费视频| 最新亚洲人成网站在线观看 | 久久亚洲AV成人无码电影| 噼里啪啦免费观看高清动漫4 | 免费国产在线精品一区| 亚洲国产精品尤物yw在线| 久久久久久av无码免费看大片| 亚洲成AV人片一区二区| 亚洲成人免费网址| 337P日本欧洲亚洲大胆精品| 亚洲人成人无码网www国产| 九九精品成人免费国产片| 亚洲福利电影在线观看| 青青草国产免费久久久91| 久久国产福利免费| 亚洲精品免费视频| 国产精品国产午夜免费福利看| xxxxx做受大片在线观看免费| 午夜亚洲国产理论秋霞| 大陆一级毛片免费视频观看i| 男女作爱免费网站| 亚洲综合激情视频| 亚洲AV日韩精品一区二区三区| 99久久国产免费中文无字幕| 亚洲成a人无码亚洲成av无码 | 亚洲丝袜中文字幕| 国产成人亚洲精品91专区手机| 亚洲成人免费在线观看|