![J編碼規范(附考核內容]_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/13/82744120-26e2-4db2-90d9-84233bb41429/82744120-26e2-4db2-90d9-84233bb414291.gif)
![J編碼規范(附考核內容]_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/13/82744120-26e2-4db2-90d9-84233bb41429/82744120-26e2-4db2-90d9-84233bb414292.gif)
![J編碼規范(附考核內容]_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/13/82744120-26e2-4db2-90d9-84233bb41429/82744120-26e2-4db2-90d9-84233bb414293.gif)
![J編碼規范(附考核內容]_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/13/82744120-26e2-4db2-90d9-84233bb41429/82744120-26e2-4db2-90d9-84233bb414294.gif)
![J編碼規范(附考核內容]_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/13/82744120-26e2-4db2-90d9-84233bb41429/82744120-26e2-4db2-90d9-84233bb414295.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、【最新卓越管理方案您可自由編輯】(績效考核)J編碼規范(附考核內容)20XX年XX月多年的企業咨詢顧問經驗r經過實戰險證可以落地執行的卓越管鹿方素,信得您不戟擁有Java編碼規范修訂歷史記錄日期版本說明作者審核人2011-7-110.0.1對Java代碼風格、注釋、命名、聲明等規范進行描述黎建寧2011-8-50.0.2根據征詢意見對Java編碼規范進行修訂黎建寧、馮彬杰、張史沛、李思行2011-8-160.0.3對規范中出現模糊定義的地方進行細化描述黎建寧2011-9-130.0.4根據編碼的約定情況,對注釋、聲明部分進行了補充黎建寧、李思行2011-9-200.0.5對方法的聲明順序進行補
2、充黎建寧、李思行壹簡介1 目的本規范的目的是使開發人員以標準的、規范的方式編寫代碼,養成良好的編碼風格和習慣,形成公司內部編碼約定,提高程序的可讀性,可維護性以及壹致性,同時減少項目組成員間技術溝通成本,提高團隊開發效率。2 范圍1 、本文檔基于Java1.5的語法描述編碼規范。2 、本文檔從代碼風格、注釋、命名、聲明以及異常處理等五個方面對Java編碼進行約定。3 、本規范適用于所有運用Java技術的軟件項目、產品。4 、本規范適用的文件類型包括但不限于Java源文件、JSP文件、XML文件、HTML文件、JS文件以及AS文件。5 、本規范建議采用統壹的CodeStyle以及Formatte
3、r風格,通過IDE進行配置。3讀者范圍1、軟件過程改進領導小組以及工作小組所有人員;2、所有運用Java技術的軟件項目、產品的關聯領導、項目負責人、設計人員、開發人員以及測試人員。3、所有涉及運用Java技術的軟件項目、產品的關聯人員。二代碼風格1 縮進1 、使用空格代替Tab縮進,避免各種編輯器中見到不壹樣的代碼格式。【注:強制執行,Eclipse可輔助排版】2 、代碼按層級縮進,每層級縮進4個字符(對于特定格式文件,能夠按照實際進行調整,如XML文件可縮進2個字符),所有“”塊內容均應該進行縮進。【注:強制執行,Eclipse可輔助排版】參考例子:2 括號1、除數組的初始化定義外,“”中的
4、語句應單獨作為壹行。【注:強制執行,Eclipse可輔助排版】2、左括號“”可根據開發習慣是否換行存放,如果換行存放,必須和其前導語句首字符對齊,右括號“”必須作為單獨壹行存放且且和匹配行對齊(即左括號前導語句首字符)。【注:強制執行,Eclipse可輔助排版】3、于項目內部,相同類型的文件,其括號的風格必須統壹。【注:強制執行,Eclipse可輔助排版】參考例子:3空格1 、操作符倆端必須帶有空格符。【注:強制執行,Eclipse可輔助排版】參考例子:2、各且行元素(如函數參數)間以空格符隔開,空格符放于逗號后方。參考例子:【注:強制執行,Eclipse可輔助排版】3、無特別要求,括號“”、
5、“”、“()”左右方盡量不要增加無必要性的空格符。【注:強制執行,Eclipse可輔助排版】參考例子:4空行1 、同壹個編譯單元間(包定義、導入聲明、類)應以空行相隔。參考例子:【注:強制執行,Eclipse可輔助排版】2、類定義內部各元素間(字段定義、方法)應以空行相隔。參考例子:【注:強制執行,Eclipse可輔助排版】3 、同壹方法內實現不同的功能之間應以空行相隔。【注:強制執行】4 、不能無理由出現大片空行。【注:強制執行】5 控制語句1、對于循環控制等元素塊,不管是否帶有body,均應該以包含。參考例子:【注:強制執行】6行寬1、每行代碼盡量控制行寬于100字以內,當超出100字時候
6、,代碼應當進行縮進。【注:非強制執行,屬加分項】2、方法的縮進應當保證參數對齊。【注:非強制執行,屬加分項】參考例子:3、對于過長的SQL/HQL語句,則采用關鍵字對齊方式,具體可通過PL/SQL等工具進行代碼的格式化。【注:非強制執行,屬加分項,附帶sql規范壹且考核】參考例子:7類、函數1、每個函數的代碼長度應盡量控制于50行以內(不包含注釋),如果函數功能過于龐大,可把獨立的功能段單獨抽取出來作為子函數。【注:非強制執行,屬加分項】2、每個類的代碼長度應盡量控制于1000行以內(不包含注釋),如果類功能過于龐大,可通過組合的方式來分解類。【注:非強制執行,屬加分項】三注釋1 基本原則1
7、、注釋目的于于增加代碼清晰度,使代碼易于被其他開發人員理解。【注:強制執行】2 、保持注釋簡潔,禁止為了注釋而注釋。【注:強制執行】3、注釋除帶有代碼功能外,仍應帶有描述上下文意圖,具體描述其原因。4、除變量定義等較短語句的注釋可用行尾注釋外,其他注釋當避免使用行尾注釋。5、對描述較長的注釋,應當使用HTML標記進行格式化,便于生成的JavaDoc易閱讀和理解。【注:強制執行】2 文件、包1 、文件、包頭部應當帶有注釋,描述其功能、作用、作者、創建時間、修改歷史等信息。【注:非強制執行,屬加分項】參考例子:3 類、接口1 、對類、接口的注釋應當符合JavaDoc規范。【注:強制執行】2 、類、
8、接口定義必須標記功能、作用、作者、時間。【注:強制執行】3、當代碼基線定義后,后續維護中新增的方法或字段于類、接口聲明頭部中應當添加修訂記錄,注明時間、原因以及作者。【注:非強制執行,屬加分項】參考例子:4 方法1 、對方法的注釋應當符合JavaDoc規范。【注:強制執行】2 、方法定義應帶有功能、作用、執行條件(如果有)、參數,對于復雜功能的方法,應當帶有例子描述。【注:功能、作用、執行條件(如果有)、參數屬強制執行;例子描述屬非強制執行,屬加分項】3、每個方法中含有的參數以及返回值應當描述其類型、作用、值的范圍,對方法的影響。【注:強制執行】4 、當方法拋出自定義的受控異常(Checked
9、Exception,不含工具、框架拋出的異常)時,必須對異常產生的原因進行描述,便于調用者捕捉。【注:強制執行】參考例子:5 、對規范中約定的方法,如回調方法、getter/setter方法,只要遵守其命令約定,均不需要編寫注釋。【注:非強制執行】參考例子:6、如果方法內部涉及復雜的算法、關鍵步驟或難以理解的語句,應當添加注釋標明其含義。【注:非強制執行,屬加分項】7、對于超過壹行注釋,必須采用“/*/”進行標注,而單行注釋可采用“/標注。【注:強制執行】5變量1 、全局變量、靜態變量、類中的字段應當帶有注釋。【注:強制執行】參考例子:2 、對規范中約定的變量,如注入對象(如Service、D
10、AO),通訊對象(如RemoteObject),只要遵守其命令約定,均不需要編寫注釋。【注:非強制執行,屬加分項】參考例子:3、對于方法內部產生的臨時變量,應當盡量添加注釋,標明其中的作用。四命名1基本原則1 、文件,類,函數,變量,命名必須采用可準確表達其意義的英文單詞。2 、命名不能和關鍵字相同。【注:強制執行】3 、盡量避免使用出現誤解的詞匯。4、不允許使用拼音命名,全部使用英文單詞或縮寫命名。【注:強制執行】2文件、包1 、文件名第壹字母應大寫。【注:強制執行】2 、文件名應盡量描述該文件作用。【注:非強制執行,但采用拼音命名需扣分】3 、文件名應使用名詞或形容詞名詞。【注:強制執行】
11、4 、包名壹般以項目或模塊名進行命名,采用小寫。【注:強制執行】5 、包名組成規則基本包.項目名.模塊名.子模塊名.【注:強制執行】參考例子:6 、禁止把類直接定義于默認包下。以下行為必須禁止:【注:強制執行】3類、接口1 、類、接口名第壹字母應大寫。【注:強制執行】2 、類名應盡量描述該類作用。【注:強制執行】3 、類名應使用名詞或形容詞名詞。【注:強制執行】4、如果需要用到多個單詞表達其意義,每個單詞第壹個字母必須用大寫標識。【注:強制執行】參考例子:5、類名不使用下劃線。【注:強制執行】6、如果用到某些特定名詞作為類名,應保持該特定名詞,如“ADOHelper【注:強制執行】7、接口的第
12、壹個字母應為“I”,其他命名規則和普通類名相同。【注:強制執行】8、對于DAO類,其命名規則為:名詞+“DAO”,對于應用服務類,其命名規則為:名詞+“Service”。【注:強制執行】9、如果類為持久類,需要和數據庫表進行綁定的,其命名于忽略前綴以及下劃線等特殊字符的情況下,應和數據庫表名保持壹致。【注:強制執行】以下行為必須禁止:4字段1 、字段名第壹字母應小寫。【注:強制執行】2 、字段名應盡量描述該字段的作用。【注:強制執行】3 、字段名應使用名詞或形容詞名詞。【注:強制執行】4、如果需要用到多個單詞表達其意義,除第壹個字母外,每個單詞第壹個字母必須用大寫標識。【注:強制執行】5、如果
13、字段所于類為持久類,需要和數據庫表進行綁定的,其命名于忽略前綴以及下劃線等特殊字符的情況下,應和數據庫字段名保持壹致。【注:強制執行】5 方法1 、方法名第壹字母應小寫。【注:強制執行】2 、方法名應盡量描述該方法的作用。【注:強制執行】3 、方法名應使用“動詞名詞”形式命名。【注:強制執行】4、如果需要用到多個單詞表達其意義,除第壹個單詞外,其他單詞第壹個字母必須用大寫標識。【注:強制執行】5 、對于常用的DAO查詢方法,方法應當表明方法出處、數據的來源以及查詢依據。如getOrderListByCustomer方法根據顧客獲取訂單列表,此方法由Order模塊提供而不是Customer模塊。
14、【注:(1)強制執行,但條件定義為非強制執行,即getOrderListByCustomer中的ByCustomer為非強制執行】6 、回調方法應使用“Callback”作為方法后綴,如非特殊回調方法,可采用“調用方法+Callback”命名規則,如login方法回調,其方法命名為loginCallback。【注:強制執行】7 、Flex各種事件,采用“on”作為方法前綴命名,如非特殊事件,可采用“on+方法名”命名規則,如createComplete事件中,其方法命名為onCreateComplete,如果存于多個相同的事件,采用“on+組件ID+方法名”命名規則。【注:強制執行】6 變量1
15、 、變量名第壹字母應小寫。【注:強制執行】2、變量名應盡量描述該變量的作用。3 、變量名壹般使用“形容詞名詞”或單個名詞,布爾變量應使用含有“判斷意義的單詞名詞”,例如判斷是否已關閉的變量:booleanisClosed,禁止聲明類似aaa、bb無法定義、理解的變量。【注:強制執行】4、如果需要用到多個單詞表達其意義,除第壹個單詞外,其他單詞第壹個字母必須用大寫標識。【注:強制執行】5 、用于for循環的局部變量可使用i等單個字母。【注:非強制執行】7 常量1 、常量名應盡量描述該常量的作用。【注:非強制執行,但采用拼音命名需扣分】2、常量名壹般使用“形容詞名詞”或單個名詞。【注:強制執行】3
16、、如果需要用到多個單詞表達其意義,單詞間應通過“_"分割。【注:強制執行】8組件變量1、組件變量符合變量命名規則。【注:強制執行】2、組件變量名壹股采用組件前綴+變量名命名。【注:強制執行,表單內的組件變量非強制執行】3、壹般情況下,組件前綴可采用組件縮寫(見本章第9節Flex命名約定表)或全名表示,但對于過長的組件命名,建議采用縮寫標識。(新增的必須執行)【注:強制執行,因考慮其對舊項目的改動性太大,故該考核只針對新增的代碼模塊其中Flex命名約定表里的組件若需要縮寫標識,則必須是Flex命名約定表中對應的縮寫標識】4、對于某些顯示數據庫字段的控件,其變量名應對應數據庫字段名。【注
17、:強制執行】9附Flex命名約定表組件全名組件名稱縮寫Controls類:AdvancedDataGridadgAlertalButtonbtnCheckBoxchkColorPickercrpComboBoxcmbDataGriddgDateChooserdcDateFielddfHSliderhslHorizontalListhorlstImageimgLabellblLinkButtonlnkbtnListlstNumericSteppernsOLAPDataGridodgPopUpButtonpubPopUpMenuButtonpumbProgressBarprgRadioButton
18、rdoRadioButtonGrouprdogRichTextEditorrtxSWFLoaderswflTexttxTextAreatxaTextinputtxiTileListtltTreetreVSlidervslVideoDisplayvdpLayout類:ApplicationControlBaracbCanvascvsControlBarctbFormfmFormHeadingfmhGridgdHBoxhbHDividedBoxhdbHrulehrModuleLoadermdlPanelpnlSpacerspcTiletilTitleWindowtilwVBoxvbVDivided
19、BoxvdbVRulevrNavigators類:AccordionaodButtonBarbtnbLinkBarlkbrMenuBarmnbTabBartabTabNavigatortbnToggleButtonBartbbViewStackvskCharts類:AreaChartarecBarChartbarcBubbleChartbubcCandlestickChartcancColumnChartcolcHLOCCharthloccLegendlgdLineChartlincPieChartpiecPlotChart自定義組件ploc根據基礎組件進行自定義組合注意:基于約定優于配置原則
20、,若規范中定義的命名規則和組件約定的規則存于沖突,以組件約定的規則為優先參考例子:五聲明1類、接口1、可見性必須顯式聲明【注:強制執行】2方法1 、可見性必須顯示聲明。【注:強制執行】2、盡可能減少類和類之間耦合,盡量限制成員函數的可見性(不要擴大其可見范圍)。【注:非強制執行,屬加分項】3 、如果存于多個參數,按照功能的相似性,應放到壹齊。【注:強制執行】4 、對于同樣可見性的方法,按照功能的相似性,應放到壹齊。(如as中應當將事件、回調方法、引用方法區分存放)。【注:強制執行】5 、對于重載的方法,按參數的個數,從少到多排序。【注:強制執行】6、方法按照其屬性以及可見性,按以下順序排序:構造方法、靜態公共方法、靜態私有方法、受保護方法、私有方法、以及繼承自Object的方法(as代碼按照實際情況進行調整)。【注:強制執行】7 、方法的聲明順序按照以下優先級聲明:功能相似性-可見性-參數個數列子:publicvoidsaveUser(Useruser)publicvoidsaveUser(Us
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 從教育改革視角探索創新人才培養的新方法
- 那個溫暖的背影寫人7篇范文
- 鄉村綠色生態與健康生活方式推廣
- 汽車維修技術實操訓練題
- 2025年醫學影像技術考試試題及答案
- 2025年環境法學專業考研復習試卷及答案
- 2025年基礎教育與教育改革的呼應能力的測試試卷及答案
- 2025年法學專業實習考核試卷及答案
- 2025年大數據與人工智能相關知識考試試卷
- 2025年甘肅省民航機場集團校園招聘45人筆試備考試題帶答案詳解
- GB/T 21446-2008用標準孔板流量計測量天然氣流量
- 無領導小組面試評分表
- 大學語文-第四講魏晉風度和魏晉文學-課件
- 我們畢業啦畢業季通用模板課件
- 小升初數學復習八(平面圖形)講義課件
- (完整版)基建建設工程流程圖
- 公司金融課件(完整版)
- 墻體開槽技術交底及記錄
- 國家開放大學《調劑學(本)》形考任務1-4參考答案
- 公務員工資套改和運行案例
- 哥尼斯堡七橋問題PPT課件
評論
0/150
提交評論