電力檢測中心項目和設備資源管理系統(tǒng)開發(fā)_第1頁
電力檢測中心項目和設備資源管理系統(tǒng)開發(fā)_第2頁
電力檢測中心項目和設備資源管理系統(tǒng)開發(fā)_第3頁
電力檢測中心項目和設備資源管理系統(tǒng)開發(fā)_第4頁
電力檢測中心項目和設備資源管理系統(tǒng)開發(fā)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、目 錄1前言4編寫目的4范圍42數(shù)據(jù)庫設計規(guī)范5Java 程序代碼規(guī)范6命名規(guī)范6包名命名規(guī)范6文件名命名規(guī)范6方法名命名規(guī)范6常量名命名規(guī)范7變量名命名規(guī)范7代碼規(guī)范73.2.1 類規(guī)范73.2.2 避免使用賦值語句8避免魔法數(shù)8字符串(String)的比較8嵌套的 try 層次控制8控制 return 語句的數(shù)量8規(guī)范 SQL 語句的編寫84代碼注釋規(guī)范94.1 文件信息9類和接口的注釋9方法的注釋9初版代碼中注釋10新增代碼中注釋10修改代碼中注釋10XML 文件中注釋116VSS 使用規(guī)范121前言1.1 編寫目的為規(guī)范國家電力檢測中心項目和設備資源管理系統(tǒng)項目組的應用開發(fā)、解決開發(fā)中

2、的代碼規(guī)范問題和命名規(guī)范問題、促進開發(fā)工作順利有序地進行,特制定本開發(fā)規(guī)范手冊。1.2 范圍適用于項目組所有。2數(shù)據(jù)庫設計規(guī)范數(shù)據(jù)庫設計在滿足用戶業(yè)務模型的前提下遵循減少冗余,線索清晰。并盡量滿足數(shù)據(jù)庫設計第三范式。數(shù)據(jù)庫設計必須考慮數(shù)據(jù)業(yè)務量、數(shù)據(jù)庫業(yè)務關系、數(shù)據(jù)冗余。對大業(yè)務量的數(shù)據(jù)庫表采用按時間分表設計。對過多字段的數(shù)據(jù)表采用一對一主子表設計,將不常使用的字段保存與子表。對業(yè)務類型等類型數(shù)據(jù)表采用一對多主子表設計。對多對多關系數(shù)據(jù)表采用中間關系表設計。數(shù)據(jù)庫命名規(guī)范:1、表命名:用一個或三個以下英文單詞及下劃線組成,單詞字母全部大寫,如:ELEC_USERS;2、表主鍵名稱為:小寫的英文

3、字段名+ID,如 ELEC_USERS 表的主鍵名為:userID,英文字段名要能夠明確表達出該字段對應的中文含義,避免使用縮寫和漢語拼音;3、其它主鍵名稱為:小寫的英文字段名,字段名要能夠明確表達出該字段對應的中文含義,避免使用縮寫和漢語拼音;4、過程命名:p_表名+方法,如:p_my_NewsAdd,如果涉及多表的情況,則用要該過程來實現(xiàn)功能名稱,即 p_功能名+方法(方法可以忽略);5、視圖命名:View_表名,如:ViewNews;如果涉及多表的情況,則用要該視圖來實現(xiàn)功能名稱,即View_+功能名;6、Sus(此處為例子,實際情況可以不同名稱)為表中狀態(tài)的列名,默認值為 0,在表中刪

4、除操作將會改變 Sus 的值而不真實刪除該;7、表、過程、視圖等對象的所有都為 dbo,不要使用數(shù)據(jù)庫用戶名,這樣會影響數(shù)據(jù)庫用戶的更改3Java 程序代碼規(guī)范3.1 命名規(guī)范3.1.1 包名命名規(guī)范包名必須均為小寫。包名需要使用英文說明包內(nèi)代碼功能,不能采用拼音。具體示例如下:以 cn.elec.web 為例:第一段 cn 代表公司,代表組織。第二段為公司名稱播客。第三段elec 為項目名稱。第四段web 為模塊名稱(分層)。對于與各項目之間的通用util 包、 db 包直接隸屬于.elec 包下。通用包的內(nèi)的代碼必須不依賴于任何項目,可獨立編譯。3.1.2 文件名命名規(guī)范Java 文件名稱

5、必須以大寫字母開頭,可以使用 2-4 個英文單詞(盡量不要用縮寫)組成每個單詞的首字母大寫。文件名稱必須能說明文件內(nèi)代碼功能。對 java 文件大致分為接口,實現(xiàn)類,模型,靜態(tài)類型,邏輯類,工具類。接口類命名:IxerFace。a)b)實現(xiàn)類命名:xxImpl。 實現(xiàn)類的名稱前段必須與接口一致說明是哪個接口的實現(xiàn)。模型類命名:xxM或xxManager。模型類的名稱必須與數(shù)據(jù)庫表對應。c)d)靜態(tài)類型:xxType。e)邏輯類:xx邏輯類為執(zhí)行 sql 并返回結(jié)果的 M加工工廠。邏輯類返回xxM或由xxM組成的 ArrayList,List。等對象。f) 工具類:如 StringUtil,Da

6、teUtil 等。3.1.3 方法名命名規(guī)范基如下:a) 方法名應該能夠簡單描述出該方法實現(xiàn)的功能,如 deleteUsers;方法名盡量不使用縮寫,除非它是眾所周知的,如可以使用 db 表示 database;b)c)方法名可以有兩個或三個單詞組成,但盡量不要多于三個以上;d)方法名中由多個單詞,第一個單詞通常為動詞,首字母小寫,中間的每個單詞的首字母都要大寫,如刪除用戶:deleteUsers;e)方法名中不要使用下劃線字符。3.1.4 常量名命名規(guī)范常量名也應當有一定的意義,常量名均為大寫。如果是由多個單詞,可以用下劃線隔開,如果是對象類型的常量,則是大小寫混合,由大寫字母把單詞隔開。如

7、: private final constPI=3.1415926;YEAR,String TITLE = “X”;K_OF_MONTH;3.1.5 變量名命名規(guī)范在程序中變量的名稱要求能夠體現(xiàn)出就是的功能,如果是單個單詞那么變量名用小寫,例如:。如果變量名是多個單詞組成那么首字母小寫,中間的每個單詞的首字母都要大寫。例如:iperUser;userLogin。為了和普通變量區(qū)別,如果變量是參數(shù),那么應在變量前加 P_。例如:P_Usassword。如果是循環(huán)變量,那么變量名必須是一個小寫字母,如:i,j,k。變量名也盡量不使用縮寫,且一定要有含義,不能使用沒有表達意義的變量名,如:a1;a2

8、;mmm。3.2 代碼規(guī)范3.2.1 類規(guī)范import 時使用星號“*”會消耗的應用資源,因此要避免使用,在當前類如果其它類的方法,那么就明確的 import 該方法所屬的類文件。此外要避免 import 的類沒有被使用或者重復。3.2.2 避免使用賦值語句不允許這種書寫方式:String s =eger.toString(i = 2);3.2.3 避免魔法數(shù)umber,會讓程序不可讀。比如:也叫表示的什么意思?所以,這里的0 就是一個魔法數(shù)。建議改用下面的書寫方式:就知道,原來是把 sex 變量的值初始化為 “”。這樣3.2.4 字符串(String)的比較檢查字符串的比較時沒有使用 =

9、或!=。正確的寫法應該是:3.2.5 嵌套的 try 層次控制避免 try-catch 的嵌套的層次過多而降低代碼可讀性。建議最大的嵌套深度不超過 3 層。3.2.6 控制 return 語句的數(shù)量如果 return 語句太多,說明某個方法需要實現(xiàn)的功能太多,而且很難閱讀,這個時候就需要重構。建議每個方法最多有 5 個 return 語句。3.2.7 規(guī)范 SQL 語句的編寫如果需要編寫 SQL 語句,則當編寫的 SQL 語句過長時,需要對 SQL 語句字符串進行拆分,并且每行字符串前端需要有一空格。普通代碼也要相似處理,盡量不需要拖動滾動條而顯示完整代碼,例子如下:/實現(xiàn)功能的SQL語句St

10、ring loanTypeSql = select count(lpj.ID) from LY_DAIKUANG_PJ lpj+ left join LY_DAIKUANG_TOUPIAO ltp+ on lt= lpj.FLD_TOUPIAO_ID+ where (lpj.PLD_TW_OBJ is null or trim(lpj.PLD_TW_OBJ) = )+ and (lpj.PLD_QK is null or trim(lpj.PLD_QK) = )+ and ltp.FLD_SHENYIDAN_ID = 0;if (something.equals(x)public sic fi

11、nalMALE= 0; sex = MALE;sex = 04代碼注釋規(guī)范以下注釋是以 java 程序為例,C+的代碼注釋符號和 java 略有不同,但需要表達的內(nèi)容完全一樣4.1 文件信息信息必須在 java 文件的開頭,示例如下:4.2 類和接口的注釋4.3 方法的注釋這里描述一下版本號的規(guī)則:/*Name:X(方法的名稱)Description:X(方法的描述)Author:(作者)* Ver: V1.00 (版本號)Create Date: 2011-06-25 (創(chuàng)建日期)Parameters: StringpanyName(方法的入?yún)?,如果沒有,填寫為“無”)Return: Arr

12、ayList UsersList(返回值,如果沒有,填寫為“無”)*/*Name:XDescription:XAuthor:* Create Date: 2011-06-25*/*Copyright 2011XX公司XX部國家電力檢測中心項目和設備資源管理系統(tǒng)項目組*.*/a) 當代碼為初版時,版本號為 V1.00;b) 當代碼被局部修改或 bug 修正時,號不變,修第二個數(shù)字增 1。例如,對初版代碼包作了第一次修訂,則版本號為 V1.01;c) 當代碼在原有的基礎上增加部分功能,號不變,修第一個數(shù)字增 1,例如,對 V1.12 版的基礎上增加部分功能,則新版本號為 V1.20;d) 當代碼有

13、重要修改或局部修訂累積較多導致代碼發(fā)生全局變化時,號增 1。例如,在V1.15版的基礎上作了一次全面修改,則新版本號為 V2.00。5.4 初版代碼中注釋初版代碼中使用的注釋方法如下:添加注釋時要有幾點注意:a) 確保所有的代碼注釋都是單獨的一行,而不是與代碼;b) 注釋全部采用中文,要能明確表達出被注釋的代碼所實現(xiàn)的功能;c) 注釋不宜過長和換行,通俗易懂的代碼無需注釋,在變量、條件處理(ifelse)、循環(huán)語句、標識位使用(如整型變量 flag,0、1、2 等分別表示什么)的時候必須添加注釋。5.5 新增代碼中注釋當在已經(jīng)發(fā)布版本的代碼中增加新的代碼,則以如下方式添加注釋:5.6 修改代碼

14、中注釋當在已經(jīng)發(fā)布版本的代碼中修改代碼,需要把原代碼注釋掉之后,再添加說明,如下:/20110625新增 功能:數(shù)據(jù)庫驅(qū)動 BEGINString CLASSFORNAME=oracle.jdbc.driver.OracleDriver;/20110625新增 END/數(shù)據(jù)庫驅(qū)動String CLASSFORNAME=oracle.jdbc.driver.OracleDriver;/數(shù)據(jù)庫服務器及數(shù)據(jù)庫名稱String SERVANDDB=jdbc:sqlserver:/:1433;DatabaseName=Book;5.7 XML 文件中注釋/20110625修改 修改原因:重新數(shù)據(jù)庫驅(qū)動 BEGIN/String CLASSFORNAME=com.jdbc.sqlserver.SQLServerDriver;String CLASSFORNAME=oracle.jdbc.driver.OracleDriver;/20110625修改 ENDD:操作手冊.doc6VSS 使用規(guī)范本項目使用 Visual Studio 中的配置管理工具 VSS(Visual Sourafe)使用遵守以下的原則a)開發(fā)每天簽到后必須從 VSS 服務器上獲得當前版本。b)結(jié)束工作后必須將代碼提交至 VSS 服務器代碼可編譯。c)開發(fā)對代碼進行修改時必須將被修改文件 checkout

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論