版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Java 開發(fā)規(guī)范開發(fā)規(guī)范2011-09-28目錄1. 引言2. 命名規(guī)范3. 注釋規(guī)范4. 編碼規(guī)范1. 引言-綜述軟件開發(fā)涉及到各方面人員的交互、協(xié)作,為了有效地進行項目開發(fā)的溝通,完善代碼的維護和交付,有必要在項目開發(fā)中采用統(tǒng)一的軟件開發(fā)標準。無論從時間跨度還是從工作量來說,一個軟件系統(tǒng)生存期的大部分是維護,不是開發(fā)。你今天所編寫的代碼,會一直使用很多年,并且很有可能被其他人維護和改進。所以,我們必須努力寫出“干凈”和易讀的代碼。1. 引言-好處方便軟件維護 據(jù)統(tǒng)計,80的軟件開發(fā)費用在維護,規(guī)范化的代碼才方便維護,降低維護成本。提高可讀性 好的編碼規(guī)范能夠大大增強代碼的可讀性,便于開發(fā)
2、人員快速的理解新代碼。保證軟件質(zhì)量 規(guī)范化的代碼是軟件質(zhì)量的保證手段之一,也是軟件過程能夠流暢的基礎(chǔ)。目錄1. 引言2. 命名規(guī)范3. 注釋規(guī)范4. 編碼規(guī)范2. 命名規(guī)范基本命名規(guī)范常量命名規(guī)范變量命名規(guī)范方法命名規(guī)范包的命名規(guī)范2. 命名規(guī)范-基本命名規(guī)范字符集在26個英文字母、0到9的阿拉伯數(shù)字和下劃線之中命名需要有一定的意義,推薦采用問題域中的術(shù)語命名命名盡量的短,如果命名太長,可以采用別名的方式,或者縮寫來簡化命名不要用前導(dǎo)下劃線,也不要在命名的末尾用下劃線所有的字符都必須大寫。采用有意義的單詞組合表達,單詞與單詞之間以“_”下劃線隔開。命名盡量簡短,不要超過16個字符 例如: pu
3、blic final int MAX_SIZE = 120; public final int MAX_WIDTH = 100; public final String PROPERTY_NAME= menu ;2. 命名規(guī)范-變量命名規(guī)范避免在命名中采用數(shù)字,除非有其他特殊含義變量名稱是名詞意義第一個單詞全部小寫,后續(xù)的每個單詞采用首字母大寫,其余小寫命名盡量簡短,不要超過16個字符除了生命周期很短的臨時變量外,避免采用單字符作為變量名在某些情況下,變量可能需要加上類型前綴(后綴),前綴(后綴)與變量名稱的實體部分沒有任何間隔 例如: public String strName; List
4、userList = new ArrayList(); Button submitBtn = new Button(); 2. 命名規(guī)范-方法命名規(guī)范命名多數(shù)為動詞結(jié)構(gòu)第一個單詞采用小寫,后續(xù)的每個單詞采用首字母大寫,其余小寫,沒有特別理由不用下劃線作為分隔符構(gòu)造方法的命名與類名一致 在Java中對屬性方法命名遵循JavaBean的標準:getter方法:get+屬性名, 對boolean型采用is+屬性名,有些特定的屬性名用has, can代替is可能更好setter方法:set+屬性名 String getName(); boolean isStopped(); boolean hasCh
5、ild(); JSP目錄規(guī)范JAVA目錄規(guī)范目錄1. 引言2. 命名規(guī)范3. 注釋規(guī)范4. 編碼規(guī)范3. 注釋規(guī)范基本規(guī)范三種注釋方式說明變量注釋方法注釋算法注釋修改記錄3. 注釋規(guī)范-基本規(guī)范注釋應(yīng)該使代碼更加清晰易懂注釋要簡單明了,只要提供能夠明確理解程序所必要的信息就可以了注釋不僅描述程序做了什么, 還要描述為什么要這樣做,以及約束對于一般的getter、setter方法不用注釋注釋不能嵌套一般注釋要使用中文編寫3. 注釋規(guī)范-三種注釋方式說明3.1 文檔注釋 /* */ 可以用多行,一般用來對類、接口、成員方法、成員變量、靜態(tài)字段、靜態(tài)方法、常量進行說明。Javadoc可以用它來產(chǎn)生代
6、碼的文檔。為了可讀性,可以有縮進和格式控制。 文檔注釋常采用一些標簽進行文檔的特定用途描述,用于幫助Javadoc產(chǎn)生文檔。 常用的文檔注釋標簽有:3. 注釋規(guī)范-三種注釋方式說明3.2 行注釋 / 一次只能注釋一行,一般用來簡短的描述某一個局部變量在該程序塊的作用。3.3 塊注釋: /* */ 可以用多行,一般用來對程序塊、算法實現(xiàn)、類的實現(xiàn)進行說明。為了可讀性,可以有縮進和格式控制。一般在行注釋不能滿足注釋需要的時候采用。一般用來作為文件頭、復(fù)雜算法的說明,方法體內(nèi)的復(fù)雜過程說明等成員變量、類靜態(tài)變量采用文檔注釋,對成員變量的注釋通常包括:變量的意義變量的合法值域?qū)Σl(fā)訪問的限制局部變量,
7、如算法相關(guān)的變量采用塊或行注釋 void func() int i; /用于循環(huán)計數(shù) 描述函數(shù)的功能,對成員方法,靜態(tài)方法一般采用文檔描述,特別是公開的方法。注釋可以很詳細,為了可讀性強也可包含格式控制。/* author 郭慶偉 * param userCode 用戶代碼* param password 登錄密碼* return boolean 返回登錄結(jié)果標識* throws Exception 拋出異常 */3. 注釋規(guī)范-算法注釋算法描述指在實現(xiàn)級別的描述注釋,如在方法內(nèi)的注釋,對類實現(xiàn)的注釋,這樣使得程序更加易懂,方便程序算法的修改和BUG的修復(fù)。一般采用塊/行注釋,對于簡短的描述采
8、用行注釋,不要用文檔注釋。注釋的主要內(nèi)容包括:某些局部變量的意義和用途復(fù)雜的控制結(jié)構(gòu)的注釋,如循環(huán),分枝,條件表達式。說明控制所要達到的目標復(fù)雜的代碼段的描述,說明代碼完成的功能,以及為什么這樣做。使用 inheritDoc開始修改記錄注釋的格式為:/* MODIFY BEGIN 修改人SVN賬號,修改類型,日期 JAVA代碼 MODIFY END */ /*MODIFY BEGIN guoqingwei,UPDATE,2011-09-28 JAVA代碼 MODIFY END */目錄1. 引言2. 命名規(guī)范3. 注釋規(guī)范4. 編碼規(guī)范4. 編碼規(guī)范基本規(guī)則類編寫規(guī)范變量編寫規(guī)范方法編寫規(guī)范語
9、言使用及書寫規(guī)范4. 編碼規(guī)范-基本原則一個類文件最好不要超過行盡可能縮小對象的作用域,這樣對象的可見范圍和生存期也都會盡可能地小一個方法所完成的功能要單一,不同的功能封裝為不同的方法盡可能的處理異常或轉(zhuǎn)換異常,不要一味的包裝異常4. 編碼規(guī)范-基本原則如果對象在某個特定范圍內(nèi)必須被清理(而不是作為垃圾被回收),請使用帶有finally子句的try塊,在finally子句中進行清理。對于把一些邏輯相關(guān)的類組織在一起,可以考慮把一個類的定義放在另一個類的定義中,這種情況推薦使用內(nèi)部類(比如界面層中的事件響應(yīng)等)。內(nèi)部類擁有所有外圍類所有成員的訪問權(quán)。4. 編碼規(guī)范-基本原則對成員變量的訪問最好通
10、過getter/setter方法,這樣能夠保證訪問的合法性,以及代碼調(diào)整在處理可變String的時候要必須使用StringBuffer類,可變范圍在次以內(nèi)可以使用String4. 編碼規(guī)范-基本原則使用java標準庫提供的容器。精通他們的用法,將極大地提高工作效率。優(yōu)先選擇ArrayList來處理順序結(jié)構(gòu),選擇HashSet來處理集合,選擇HashMap來處理關(guān)聯(lián)數(shù)組,選擇linkedList來處理堆棧和隊列,它對順序訪問進行了優(yōu)化,向List中間插入與刪除的開銷小,但隨機訪問則較慢。4. 編碼規(guī)范-類編寫規(guī)范類的組織結(jié)構(gòu),一般按照如下的順序常量聲明靜態(tài)變量聲明成員變量聲明構(gòu)造函數(shù)部分Fina
11、lize部分成員方法部分靜態(tài)方法部分對成員變量, 盡量采用private 每一個變量聲明/定義占一行(參數(shù)變量除外)局部變量在使用前必須初始化,一般在聲明時初始化變量的聲明要放在程序塊的開始位置int a ;int b;4. 編碼規(guī)范-方法編寫規(guī)范對成員方法,不要輕易的采用public的成員變量。主要的修飾符有public, private, protected, 無空方法中方法聲明和函數(shù)體可都在一行。如:void func()方法和方法之間空一行方法的文檔注釋放在方法的緊前面,不能空一行4. 編碼規(guī)范-方法編寫規(guī)范避免過多的參數(shù)列表,盡量控制在個以內(nèi),若需要傳遞多個參數(shù)時,當使用一個容納這些參數(shù)的對象進行傳遞,以提高程序的可讀性和可擴展性方法中的循環(huán)嵌套不能超過層每個方法盡量代碼行
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 洗瓶器課程設(shè)計動圖
- 2025年度砂石存放地租賃合同:高標準倉儲服務(wù)協(xié)議3篇
- 二零二五年度房產(chǎn)買賣居間代理合同模板6篇
- 基坑爆破作業(yè)安全技術(shù)規(guī)程模版(2篇)
- 二零二五年度吊裝設(shè)備租賃及工程進度管理合同2篇
- 液壓缸的設(shè)計課程設(shè)計
- 二零二五年度冷鏈物流搬運配送承包協(xié)議2篇
- 資助中心資助實施方案范文(2篇)
- 2025年文明校園演講稿范例(2篇)
- 二零二五年度按摩技師團隊協(xié)作聘用合同3篇
- -油水井小修工藝技術(shù)課件
- 中國文化概論(第三版)全套課件
- (完整版)兒童醫(yī)學康復(fù)科疾病護理常規(guī)
- 2022閥門制造作業(yè)指導(dǎo)書
- 科技創(chuàng)新社團活動教案課程
- 建筑結(jié)構(gòu)加固工程施工質(zhì)量驗收規(guī)范表格
- 部編版語文六年級上冊作文總復(fù)習課件
- 無水氯化鈣MSDS資料
- 專利產(chǎn)品“修理”與“再造”的區(qū)分
- 氨堿法純堿生產(chǎn)工藝概述
- 健康管理專業(yè)建設(shè)規(guī)劃
評論
0/150
提交評論