




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、軟件工程開發(fā)規(guī)范.培訓(xùn)目的 開發(fā)規(guī)范培訓(xùn)的目的是為了保證在系統(tǒng)設(shè)計(jì)、編碼、測試、維護(hù)的過程中工程組人員遵照一套一致系統(tǒng)設(shè)計(jì)規(guī)范、運(yùn)用程序編寫規(guī)范、頁面風(fēng)格規(guī)范,借以提高軟件開發(fā)團(tuán)隊(duì)的效率、添加代碼的一致性、可讀性,可維護(hù)性,保證工程開發(fā)穩(wěn)定。 本次培訓(xùn)提供了工程開發(fā)的各項(xiàng)規(guī)范以及指點(diǎn)原那么。開發(fā)人員在開發(fā)過程中必需嚴(yán)厲遵守此開發(fā)規(guī)范。 .開發(fā)規(guī)范參考資料想要更深化了解本次培訓(xùn)涉及到背景知識(shí),可訪問以下網(wǎng)站。SUN的官方網(wǎng)站:java.sun IBM官方網(wǎng)站:www-900.ibm/developerWorks關(guān)于代碼規(guī)范規(guī)范可參閱:Java Programming Style Guide ja
2、varanch/style.jspAmbySoft Inc. Coding Standards for Java v17.01d ambysoft/javaCodingStandards.htmlCode Conventions for the JavaTM Programming Language java.sun/docs/codeconv/html/CodeConvTOC.doc.html.開發(fā)人員角色 開發(fā)組長:控制團(tuán)隊(duì)開發(fā),只需在開發(fā)組長的授權(quán)下,才可進(jìn)展根底開發(fā)包的變動(dòng)。設(shè)計(jì)人員:擔(dān)任詳細(xì)設(shè)計(jì)??煽刂频奈臋n:各種方式的設(shè)計(jì)文件, 包括用例圖,流程圖等。編程人員:擔(dān)任程序開發(fā)??煽刂?/p>
3、的文檔:程序源代碼。整合人員:擔(dān)任運(yùn)用程序內(nèi)部模塊與模塊之間的整合,以及運(yùn)用程序與運(yùn)用平臺(tái)之間的整合。可控制的文檔:程序開發(fā)包,系統(tǒng)配置文件。部署人員:擔(dān)任運(yùn)用程序的部署,同時(shí)擔(dān)任運(yùn)用效力器的維護(hù)。可控制的文檔:部署描畫文件。數(shù)據(jù)庫管理員:擔(dān)任數(shù)據(jù)庫的維護(hù),調(diào)優(yōu)。可控制的文檔:數(shù)據(jù)庫腳本。測試人員:擔(dān)任程序的測試任務(wù),可控制的文檔:測試報(bào)告。在開發(fā)過程中,每個(gè)人可同時(shí)兼任數(shù)個(gè)角色,并進(jìn)展角色轉(zhuǎn)換。 .開發(fā)環(huán)境 應(yīng)用程序服務(wù)器:IBM WebSphere Application Server 6.1數(shù)據(jù)庫:DB2 9.0開發(fā)工具:JAVA IDEEclipse 頁面開發(fā)Editplus*、Dre
4、amWeaver*版本控制工具:VSS.軟件環(huán)境搭建過程第1步:安裝DB2; 第2步:安裝WebSphere;第3步:安裝ResourceOne; 第4步:安裝VSS;第5步:從VSS中下載運(yùn)用程序的開發(fā)包,包括目錄構(gòu)造、基類,第三方開發(fā)包;第6步:將運(yùn)用程序開發(fā)包部署進(jìn)WebSphere ; .Java程序 命名規(guī)范包名:Package 的名字應(yīng)該都是由小寫單詞組成。如test.demo.example 。文件名 :文件名由英文單詞組成,每個(gè)單詞的首字母大寫,不要超越4個(gè)單詞,如ShipOrder.java。Java文件的文件名要與程序中的public類名一樣。Servet文件要以Servl
5、et做為結(jié)尾,如AddCompanyServlet.java訪問數(shù)據(jù)庫的Bean要以DBBean為結(jié)尾,如AddCompanyDBBean.java .Java程序 命名規(guī)范類名 :Class 的名字必需由大寫字母開頭而其他字母都小寫的單詞組成變量名:Class 變量的命名 :變量的名字必需用一個(gè)小寫字母開頭。后面的單詞用大寫字母開頭。 Static Final 變量的命名 :Static Final 變量的名字應(yīng)該都大寫,并且指出完好含義。用有意義的名字命名變量 。首先,用完好的英語單詞或商定俗成的簡寫命名他的變量(不允許用漢語拼音),如: firstName,zipCode用復(fù)數(shù)命名col
6、lection類變量。ollection包括數(shù)組,vector等。命名時(shí)運(yùn)用復(fù)數(shù): customers ,classmates方法名:方法的名字必需用一個(gè)小寫字母開頭。后面的單詞用大寫字母開頭。方法的名字要與該方法的用途相關(guān)。 .Java程序 命名規(guī)范參數(shù)名 :參數(shù)的命名 :參數(shù)的名字必需和變量的命名規(guī)范一致。 方法的參數(shù) :運(yùn)用有意義的參數(shù)命名,假設(shè)能夠的話,運(yùn)用和要賦值的字段一樣的名字。.Java程序 命名規(guī)范增刪改程序和頁面的調(diào)用關(guān)系和文件名 .Java程序 命名規(guī)范增刪改程序和頁面的調(diào)用關(guān)系和文件名 AddOrderServer, SaveOrderServer, DeleteOrde
7、rServlet不需求頁面,其他有JSP頁面的Servlet要與JSP文件名相對(duì)應(yīng)。OrderDetailServet對(duì)應(yīng)兩個(gè)JSP文件,EditOrder用于可編輯形狀,ShowOrder用于不可編輯形狀。AddOrderServlet和SaveOrderServlet的前往頁面可以是List頁面,也可以是Detail頁面,假設(shè)當(dāng)前人已完成一切可進(jìn)展的操作,那么回到List頁面,假設(shè)未完成,那么回到Detail頁面。 .Java程序 代碼格式文件頭 :版權(quán)信息 版權(quán)信息必需在 java 文件的開頭,比如:/* 類名* 日期* 修正記錄* Copyright ICSS 2003* All ri
8、ght reserved.*/其他不需求出如今 javadoc 的信息也可以包含在這里。Package/Imports package 行要在 import 行之前,import 中規(guī)范的包名要在本地的包名之前,而且按照字母順序陳列。假設(shè) import 行中包含了同一個(gè)包中的不同子目錄,那么應(yīng)該用 * 來處置。對(duì)于import語句,假設(shè)某一個(gè)包中援用的類不超越三個(gè)包括三個(gè),不允許用import xxx.*;格式。將import的classes歸類,按順序羅列: a. Java規(guī)范類(java.*) b. Java擴(kuò)展類(javax.*) c. 第三方類 d. 他的運(yùn)用程序的類.Java程序 代
9、碼格式縮進(jìn) 縮進(jìn)應(yīng)該是每行4個(gè)空格,不要在源文件中保管Tab字符。 在運(yùn)用不同的源代碼管理工具時(shí)Tab字符將由于用戶設(shè)置的不同而擴(kuò)展為不同的寬度。注釋 為保證開發(fā)后JAVA DOC的順利生成,開發(fā)人員必需在一切方法,全局變量前參與加上規(guī)范JAVA注釋。類注釋需求包含以下要素:方法描畫參數(shù): param 參數(shù)名 闡明前往值: return 闡明例外情況:exception 完好類名 闡明/* this is a doc sample* param args array of string arguments* return No return value* exception exception
10、 No exceptions thrown */頁寬 頁寬應(yīng)該設(shè)置為80字符, 源代碼普通不會(huì)超越這個(gè)寬度, 并導(dǎo)致無法完好顯示, 但這一設(shè)置也可以靈敏調(diào)整。 在任何情況下, 超長的語句應(yīng)該在一個(gè)逗號(hào)或者一個(gè)操作符后折行, 一條語句折行后, 應(yīng)該比原來的語句再縮進(jìn)2個(gè)字符。.HTML/JSP 代碼規(guī)范文件頭文件頭要寫明該文件的用途,及修正記錄。如:! 文件名:OrderList.jsp 闡明:訂單列表 修正記錄:2003-08-24,張三,添加一個(gè)按鈕縮進(jìn) HTML標(biāo)志層次之間的縮進(jìn)為2個(gè)字符,Java代碼的縮進(jìn)為4個(gè)字符,文件中不要有Tab符號(hào),都要交換為空格。 .Java編程技巧 exit
11、() exit 除了在 main 中可以被調(diào)用外,其他的地方不應(yīng)該調(diào)用。由于這樣做不給任何代碼代碼時(shí)機(jī)來截獲退出。一個(gè)類似后臺(tái)效力地程序不應(yīng)該由于某一個(gè)庫模塊決議了要退出就退出。 異常 聲明的錯(cuò)誤應(yīng)該拋出一個(gè)RuntimeException或者派生的異常。 頂層的main()函數(shù)應(yīng)該截獲一切的異常,并且打印或者記錄在日志中在屏幕上。 .Java編程技巧渣滓搜集 JAVA運(yùn)用成熟的后臺(tái)渣滓搜集技術(shù)來替代援用計(jì)數(shù)。但是這樣會(huì)導(dǎo)致一個(gè)問題:他必需在運(yùn)用完對(duì)象的實(shí)例以后進(jìn)展清場任務(wù)。比如一個(gè)prel的程序員能夠這么寫: .FileOutputStream fos = new FileOutputStr
12、eam(projectFile);project.save(fos, IDE Project File); . 除非輸出流一出作用域就封鎖,非援用計(jì)數(shù)的程序文語,比如JAVA,是不能自動(dòng)完成變量的清場任務(wù)的。必需象下面一樣寫: FileOutputStream fos = new FileOutputStream(projectFile);project.save(fos, IDE Project File); fos.close();.Java編程技巧Clone 下面是一種有用的方法: implements CloneablepublicObject clone()try ThisClass
13、 obj = (ThisClass)super.clone();obj.field1 = (int)field1.clone();obj.field2 = field2;return obj; catch(CloneNotSupportedException e) throw new InternalError(Unexpected CloneNotSUpportedException: + e.getMessage();.Java編程技巧運(yùn)用 StringBuffer 對(duì)象 在處置 String 的時(shí)候要盡量運(yùn)用 StringBuffer 類,StringBuffer 類是構(gòu)成 String
14、 類的根底。String 類將 StringBuffer 類封裝了起來,以破費(fèi)更多時(shí)間為代價(jià)為開發(fā)人員提供了一個(gè)平安的接口。當(dāng)我們在構(gòu)造字符串的時(shí)候,我們應(yīng)該用 StringBuffer 來實(shí)現(xiàn)大部分的任務(wù),當(dāng)任務(wù)完成后將 StringBuffer 對(duì)象再轉(zhuǎn)換為需求的 String 對(duì)象。比如:假設(shè)有一個(gè)字符串必需不斷地在其后添加許多字符來完成構(gòu)造,那么我們應(yīng)該運(yùn)用 StringBuffer 對(duì)象和她的 append() 方法。假設(shè)我們用 String 對(duì)象替代 StringBuffer 對(duì)象的話,會(huì)破費(fèi)許多不用要的創(chuàng)建和釋放對(duì)象的 CPU 時(shí)間。 防止太多的運(yùn)用 synchronized 關(guān)
15、鍵字 防止不用要的運(yùn)用關(guān)鍵字 synchronized,應(yīng)該在必要的時(shí)候再運(yùn)用她,這是一個(gè)防止死鎖的好方法。 換行 假設(shè)需求換行的話,盡量用 println 來替代在字符串中運(yùn)用n。 他不要這樣: System.out.print(Hello,world!n); 要這樣: System.out.println(Hello,world!); 或者他構(gòu)造一個(gè)帶換行符的字符串,至少要象這樣: String newline = System.getProperty(line.separator); System.out.println(Hello world + newline); .數(shù)據(jù)庫規(guī)范 數(shù)據(jù)庫設(shè)計(jì)時(shí),應(yīng)按照關(guān)系數(shù)據(jù)庫的建模理念,滿足設(shè)計(jì)范式。在構(gòu)造物理實(shí)體時(shí),應(yīng)參照DB2性能手冊,優(yōu)化DB2性能。 第一種規(guī)范方式:表中的每一行和每一列均有一個(gè)值,永遠(yuǎn)不會(huì)是一組值。 第二種規(guī)范方式:不在關(guān)鍵字中的每一列提供取決于整個(gè)關(guān)鍵字的現(xiàn)實(shí)。 第三種規(guī)范方式:每個(gè)非關(guān)鍵字列提供與其他非關(guān)鍵字列無關(guān)并只取決于該關(guān)鍵字的現(xiàn)實(shí)。 第四種規(guī)范方式:沒有行包含有關(guān)一個(gè)實(shí)體的兩個(gè)或更多個(gè)獨(dú)立的多值現(xiàn)實(shí)。 每種范式均運(yùn)用于特定條件。 .LOG記錄規(guī)范級(jí)別(Level):輸出日志的重要程度,便于控制日志輸出的多少。輸出目的地(Appender):日志可以被寫入的存儲(chǔ)空間,常見的有控制臺(tái)、文件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度高科技園區(qū)合伙經(jīng)營合同集合
- 2025年度期權(quán)交易手續(xù)費(fèi)協(xié)議合同模板
- 二零二五年度事業(yè)單位合同模板:文化設(shè)施運(yùn)營管理合作協(xié)議
- 二零二五年度長期勞動(dòng)合同簽訂八年期限的員工勞動(dòng)權(quán)益保障與晉升協(xié)議
- 二零二五年度廠房裝修項(xiàng)目進(jìn)度與成本控制協(xié)議
- 二零二五年度洗浴行業(yè)員工職業(yè)發(fā)展規(guī)劃雇傭協(xié)議
- 2025年度集體勞動(dòng)合同與職工技能提升合同
- 2025年度美容美發(fā)加盟商退出協(xié)議
- 2025-2030年發(fā)動(dòng)機(jī)起動(dòng)機(jī)項(xiàng)目商業(yè)計(jì)劃書
- 2025-2030年雙臂連續(xù)式樹脂砂混砂機(jī)項(xiàng)目投資價(jià)值分析報(bào)告
- 先學(xué)后教當(dāng)堂訓(xùn)練簡介
- “順豐杯”第三屆全國大學(xué)生物流設(shè)計(jì)大賽案例
- 群文閱讀指導(dǎo)課《人物描寫一組臨死前的嚴(yán)監(jiān)生》課件
- 灌區(qū)工程施工方案與技術(shù)措施
- (完整)交叉作業(yè)施工方案
- 幼兒園繪本:《小蛇散步》 課件
- 華中師大版七年級(jí)心理 2走近老師 課件(共15張PPT)
- 裝配式建筑疊合板安裝技術(shù)交底
- 內(nèi)科學(xué)第八版循環(huán)系統(tǒng)教學(xué)大綱
- 1-100數(shù)字卡片(A4打印)
- 支氣管肺炎臨床路徑
評(píng)論
0/150
提交評(píng)論