




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、代碼開發(fā)規(guī)范文件狀態(tài): 草稿 正式 修改文件標(biāo)識(shí):當(dāng)前版本:1.1作 者:Empty聯(lián)系電話:最后更新:2014-04-07版本記錄日期版本號(hào)作者說明2014-4-21.0Empty創(chuàng)建2014-4-71.1Empty添加前言、注釋規(guī)范與編碼規(guī)范目 錄1.前言41.1編寫目的41.2適用范圍41.3基本要求42.命名規(guī)范42.1字母大小寫約定42.1.1說明42.1.2Pascal風(fēng)格42.1.3Camel風(fēng)格52.2標(biāo)識(shí)符的大小寫規(guī)則52.3通用命名約定52.3.1選擇名稱52.3.2字母縮寫詞62.4命名空間命名62.5類、結(jié)構(gòu)和接口命名62.6邏輯層類命名62.7文件夾命名73.注釋規(guī)范
2、73.1模塊(類)注釋規(guī)范73.2類屬性注釋規(guī)范73.3方法注釋規(guī)范73.4代碼間注釋規(guī)范84.編碼規(guī)范91. 前言1.1 編寫目的為了保證編寫出的程序都符合相同的規(guī)范,保證一致性、統(tǒng)一性而建立的程序編碼規(guī)范。編碼規(guī)范對(duì)于程序員而言尤為重要,有以下幾個(gè)原因:1) 一個(gè)軟件的生命周期中,80%的花費(fèi)在于維護(hù)。2) 幾乎沒有任何一個(gè)軟件,在其整個(gè)生命周期中,均由最初的開發(fā)人員來維護(hù)。3) 編碼規(guī)范可以改善軟件的可讀性,可以讓程序員盡快而徹底地理解新的代碼 。每個(gè)軟件開發(fā)人員都必須遵守統(tǒng)一的編碼規(guī)范。1.2 適用范圍本規(guī)范適用于從零開始編寫自己的C# 框架的開發(fā)。1.3 基本要求盡量使代碼簡(jiǎn)單直白。
3、2. 命名規(guī)范2.1 字母大小寫約定2.1.1 說明表達(dá)清晰的命名規(guī)范是程序規(guī)劃的核心,如果規(guī)范的命名能清晰的表達(dá)出相應(yīng)的功能,就可以讓人“望文知意”,提高開發(fā)效率和系統(tǒng)的可維護(hù)性。反之,如果命名不能表達(dá)其含義,例如“aaa”、“bbb ()”,那么將適得其反。2.1.2 Pascal風(fēng)格包含一到多個(gè)單詞,每一個(gè)單詞第一個(gè)字母大寫,其余字母均小寫。例如:HelloWorld、SetName等。2.1.3 Camel風(fēng)格包含一到多個(gè)單詞,第一個(gè)單詞首字母小寫,其余單詞首字母大寫。例如:name、productId等。2.2 標(biāo)識(shí)符的大小寫規(guī)則1) 除了參數(shù)與變量外,所有命名空間名稱、類、函數(shù)、接
4、口、屬性等名稱的命名,使用 Pascal 風(fēng)格。2) 參數(shù)與變量的命名,使用Camel風(fēng)格。2.3 通用命名約定約定的是如何選擇最適當(dāng)?shù)拿Q,這些準(zhǔn)則適用于所有標(biāo)識(shí)符命名。2.3.1 選擇名稱1) 請(qǐng)選擇易讀的英文名稱例如,英文 Order的意思為規(guī)則、次序、訂購等,如果用在排序列中就不是很合適,用來表示訂單則更具可讀性??勺x性比詳細(xì)描述更重要,比如表示坐標(biāo)名稱ScreenX就比ScreenHorizontally 更具可讀性。2) 除下劃線外,不要使用連字符或任何其他非字母數(shù)字字符在數(shù)據(jù)庫表字段名稱設(shè)計(jì)時(shí),與其他表字段有關(guān)聯(lián)時(shí),適當(dāng)?shù)氖褂帽砻?下橫線+字段名,可以更清晰的表現(xiàn)出該字段與關(guān)聯(lián)表
5、對(duì)應(yīng)字段的關(guān)系。比如產(chǎn)品分類表ProductClass有字段Id與Name,那么產(chǎn)品表綁定這兩個(gè)字段的名稱可命名為ProductClass_Id與ProductClass_Name,這樣在查看產(chǎn)品表時(shí)就可以清晰的知道這兩個(gè)字段與分類表的關(guān)系。3) 避免使用與常用編程語言的關(guān)鍵字沖突的標(biāo)識(shí)符4) 變量和方法參數(shù)使用Camel 風(fēng)格 例如:string productName = ;int number=0;string sqlString=;double averageScore=0.0;Users users=new Users();Users model=new Users();Users
6、userModel=new Users();const string const_String = ;(不同公司有不同的約定,具體根據(jù)自己公司情況設(shè)置而定)Private string GetProductName(int id)return ;5) 不要使用成員屬性作為成員變量的前綴(其他變量命名也一樣)例如: 不要像Users m_users;這樣定義成員變量,可以使用第4點(diǎn)的設(shè)置。2.3.2 字母縮寫詞1) 通常,不應(yīng)使用縮寫2) 除非這種縮寫已廣泛接受,又或者團(tuán)隊(duì)當(dāng)中大家都認(rèn)可一種縮寫例如,使用 OnButtonClick,如果團(tuán)隊(duì)中普遍認(rèn)可OnBtnClick這種寫法也是可以的。2.
7、4 命名空間命名命名空間命名采用Pascal風(fēng)格,取名的一般規(guī)則如下。CompanyName. ProjectName (公司名稱.項(xiàng)目名稱)例如:Microsoft.Office需要用復(fù)數(shù)時(shí),請(qǐng)使用復(fù)數(shù)。例如,使用System.Collections而不是System.Collection。需要縮寫時(shí),不需要加復(fù)數(shù)。例如:使用System.IO而不是System.IOs。2.5 類、結(jié)構(gòu)和接口命名1) 按照 Pascal 大小寫格式,使用名詞或名詞短語為類、接口和值類型命名2) 接口命名以字母 I 為前綴例如:IComponent3) 派生類的末尾使用基類名稱例如,從 Stream 繼承的
8、Framework 類型以 Stream 結(jié)尾,從 Exception 繼承的類型以 Exception 結(jié)尾。2.6 邏輯層類命名按照 Pascal 大小寫格式,使用名詞或名詞短語命名,并加上后綴Logic2.7 文件夾命名文件夾以功能模塊名稱,按照 Pascal 大小寫格式命名。比如后端管理功能以及權(quán)限相關(guān)功能,全部放到Systems文件夾里。3. 注釋規(guī)范3.1 模塊(類)注釋規(guī)范 模塊開始必須以以下形式書寫模塊注釋: /模塊編號(hào):/作用:/作者:作者中文名/編寫日期:/如果模塊有修改,則每次修改必須添加以下注釋:/Log編號(hào):/修改描述:/作者:修改者中文名/修改日期:/3.2 類屬性
9、注釋規(guī)范 在類的屬性必須以以下格式編寫屬性注釋: / /屬性說明/ 3.3 方法注釋規(guī)范 在類的方法聲明前必須以以下格式編寫注釋 / / 說明:/ / param name=/ / 3.4 代碼間注釋規(guī)范 代碼間注釋分為單行注釋和多行注釋: 單行注釋:/多行注釋:/*多行注釋1多行注釋2多行注釋3*/代碼行數(shù)太多而不容易區(qū)分時(shí)注釋:/* *代碼塊功能名稱 */或/*多行注釋1多行注釋2*/或者也可以使用下面方法:/* 代碼塊功能名稱開始 */* 代碼塊功能名稱結(jié)束 */注釋說明A.代碼中遇到語句塊時(shí)必須添加注釋(if,for,foreach,),添加的注釋必須能夠說明此語句塊的作用和實(shí)現(xiàn)手段(
10、所用算法等等)。 對(duì)一個(gè)數(shù)值變量采用不是0,-1等的數(shù)值初始化,給出選擇該值的理由。B.盡量多點(diǎn)注釋,就算能一目了然的命名最好也順便寫一寫注釋,方便以后接收的人能更容易理解程序(方便不太懂英文的程序員)。C.如果因?yàn)槟撤N原因使用了復(fù)雜艱澀的原理,為程序配備良好的文檔和更多的注釋。4. 編碼規(guī)范1)縮進(jìn)和間隔:縮進(jìn)用TAB,不用 SPACES。2)注釋需和代碼對(duì)齊。多使用#regedit和#endregion代碼塊。3)在代碼中垂直對(duì)齊左括號(hào)和右括號(hào)。if (x = 0)Response.Write(用戶編號(hào)必須輸入!); 不允許以下情況:if(x = 0) Response.Write(用戶編
11、號(hào)必須輸入!);或者:if(x = 0) Response.Write(用戶編號(hào)必須輸入!); 4)適當(dāng)?shù)脑黾涌招?,來增加代碼的可讀性。在下列情況下應(yīng)該有兩行空行:l同一文件的不同部分之間;l在類,接口以及彼此之間; 在下列情況之間應(yīng)該有一行空行:l方法之間;l局部變量和它后邊的語句之間;l方法內(nèi)的功能邏輯部分之間;5)避免使用大文件。如果一個(gè)文件里的代碼超過300400行,必須考慮將代碼分開到不同類中。當(dāng)然模板生成類與邏輯層類除外。6)避免寫太長的方法。一個(gè)典型的方法代碼在125行之間。如果一個(gè)方法發(fā)代碼超過25行,應(yīng)該考慮將其分解為不同的方法。7)為了防止在閱讀代碼時(shí)不得不滾動(dòng)源代碼編輯器
12、,每行代碼或注釋在1024*768的顯示頻率下不得超過一顯示屏8)在大多數(shù)運(yùn)算符之前和之后使用空格,這樣做時(shí)不會(huì)改變代碼的意圖卻可以使代碼容易閱讀。例:int j = i + k; 而不應(yīng)寫為int j=i+k;括號(hào)和它里面的字符之間不應(yīng)該出現(xiàn)空格。括號(hào)應(yīng)該和它前邊的關(guān)鍵詞留有空格。例:while (true) ;但是方法名和左括號(hào)之間不應(yīng)該有空格。參數(shù)之間的逗號(hào)后應(yīng)該加一空格。例:method1(int i1, int i2)for語句里的表達(dá)式之間加一空格。例:for(expr1; expr2; expr3)強(qiáng)制類型轉(zhuǎn)換時(shí),在類型和變量之間加一空格。例:(int) i ; 9)所有可供用戶
13、輸入的字段值,必須需忽略前后空白后(不包含密碼);在對(duì)字段值進(jìn)行有效性驗(yàn)證。對(duì)提交進(jìn)數(shù)據(jù)庫的內(nèi)容必須進(jìn)行SQL注入過濾與XSS過濾。10)一個(gè)方法只完成一個(gè)任務(wù)。不要把多個(gè)任務(wù)組合到一個(gè)方法中,即使那些任務(wù)非常小。11)避免使用很多成員變量,聲明局部變量,并傳遞給方法。12)不要在方法間共享成員變量,如果在幾個(gè)方法間共享一個(gè)成員變量,那就很難知道是哪個(gè)方法在什么時(shí)候修改了它的值。13)不在代碼中使用具體的路徑和驅(qū)動(dòng)器名,使用相對(duì)路徑,并使路徑可編程。永遠(yuǎn)別設(shè)想你的代碼是在“C:”盤運(yùn)行。你不會(huì)知道,一些用戶在網(wǎng)絡(luò)或“Z:”盤運(yùn)行程序。14)應(yīng)用程序啟動(dòng)時(shí)作些“自檢”并確保所需文件和附件在指定的位置。如果需要的配置文件找不到,應(yīng)用程序需能自己創(chuàng)建使用默認(rèn)值的一份。如果在配置文件中發(fā)現(xiàn)錯(cuò)誤值,應(yīng)用程序要拋出錯(cuò)誤,給出提示消息告訴用戶正確值。15)出現(xiàn)任何問題給用戶一個(gè)友好的提示,錯(cuò)誤消息需能幫助用戶解決問題。永遠(yuǎn)別用像“應(yīng)用程序出錯(cuò)”,“發(fā)現(xiàn)一個(gè)錯(cuò)誤”等錯(cuò)誤消息。而應(yīng)給出像“更新數(shù)據(jù)庫失敗,請(qǐng)確保登陸id和密碼正確” 的具體消息。顯示錯(cuò)誤消息時(shí),除了說哪里錯(cuò)了,還應(yīng)提示用戶如何解決問題。不要用像“更新數(shù)據(jù)庫失敗”這樣的,要提示用戶怎么做:“更新數(shù)據(jù)庫失敗,請(qǐng)確保登陸id和密碼正確” 16)錯(cuò)誤處理和異常事件不要“捕捉了異常卻什么也不做”。如果隱藏了一個(gè)異常,你將永遠(yuǎn)不知道異常
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 摩托車免責(zé)合同協(xié)議書
- 職業(yè)教練協(xié)議書
- 茶房合伙協(xié)議書
- 脫離關(guān)系協(xié)議書
- 寧德特斯拉合作協(xié)議書
- 自愿待崗協(xié)議書
- 股權(quán)掛牌協(xié)議書
- 船員租用協(xié)議書
- 遞交投降協(xié)議書
- 美術(shù)集訓(xùn)協(xié)議書
- 2023年云南省腫瘤醫(yī)院醫(yī)護(hù)人員招聘筆試題庫及答案解析
- 輻射及其安全防護(hù)(共38張PPT)
- 初三中考宣誓誓詞82060
- 觸電事故桌面推演方案
- 護(hù)理風(fēng)險(xiǎn)評(píng)估及填寫要求
- 《中興通訊績效管理制度》-人事制度表格【管理資料】
- 鐵路工務(wù)技術(shù)手冊(cè)
- (完整版)硬件測(cè)試規(guī)范
- 2006年工資標(biāo)準(zhǔn)及套改對(duì)應(yīng)表
- DBJ∕T 13-183-2014 基樁豎向承載力自平衡法靜載試驗(yàn)技術(shù)規(guī)程
- 張雙樓煤礦安全評(píng)價(jià)報(bào)告(出版稿10.14)
評(píng)論
0/150
提交評(píng)論