




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、.NET 代碼規(guī)范學(xué)習(xí)下邊我談?wù)?NET代碼規(guī)范的學(xué)習(xí):一、注釋規(guī)范1,自建代碼文件注釋:對于自己創(chuàng)建的代碼文件(如函數(shù)、腳本),在文件開頭,一般編寫如下注釋:/*作者:小組: 說明:創(chuàng)建日期:版本號:*/2,標(biāo)準(zhǔn)注釋:在模塊、類、屬性、方法前一行添加注釋,以便調(diào)用的時候提示用戶下以方法聲明做例子:/<summary>/depiction:<對該方法的說明>/</summary>/<paramname="<參數(shù)名稱>"><參數(shù)說明></param>/<returns>/<對
2、方法返回值的說明,該說明必須明確說明返回的值代表什么含義>/</returns>如果模塊只進(jìn)行部分少量代碼的修改時,則每次修改須添加以下注釋:/修改人:/修改日期:< YYYY-MM-DD >/備份: /* 原代碼內(nèi)容*/ 將原代碼內(nèi)容注釋掉,然后添加新代碼使用以下注釋:/添加人: /添加日期: <YYYY-MM-DD> 代碼內(nèi)容/結(jié)束: 對于重構(gòu)的類文件,需要對原來的類文件做備份,然后放在同級目錄下,在原有文件名后面添加后綴_BAK,以便日后版本升級時整理源碼。3.代碼中的注釋:代碼間注釋分為單行注釋和多行注釋:單行注釋:/<單行注釋>多
3、行注釋:/*多行注釋1多行注釋2多行注釋3*/代碼中遇到語句塊時必須添加注釋(if,for,foreach,),添加的注釋必須能夠說明此語句塊的作用和實現(xiàn)手段(所用算法、循環(huán)條件、不同分支的意義等等)。這是添加注釋的學(xué)習(xí),添加適當(dāng)?shù)淖⑨?,會使你的代碼就像課文一樣容易讀懂。下邊看第二部分。二,命名規(guī)范:總體來說需要做到這幾點:a,名字應(yīng)該能夠標(biāo)識事物的特性,并且與業(yè)務(wù)掛鉤。b,名字一律使用英文單詞,而不能為拼音。c,名字可以有兩個或三個單詞組成,但不應(yīng)多于4個,控制在3至30個字母以內(nèi)。d,在名字中,多個單詞用大寫第一個字母(其它字母小寫)來分隔。例如:IsSuperUser。在具體任務(wù)開發(fā)中,
4、如果有特定的命名約定,則在相應(yīng)的軟件開發(fā)計劃中予以明確定義及上報質(zhì)量管理部審計組。分點來說具體的:1,命名概括:Pascal命名法:所有單詞的首字母都大寫,其他字母小寫Camel命名法:除首字母外,其他單詞的首字母大寫,其他字母小寫o 在類屬性的名稱中包含類名是多余的,如 Book.BookTitle。而是應(yīng)該使用 Book.Title。o 在變量名中使用互補對,如 min/max、begin/end 和 open/close。o 布爾變量名應(yīng)該包含 Is,這意味著 Yes/No 或 True/False 值,如 fileIsFound。o 即使對于可能僅出現(xiàn)在幾個代碼行中的生存期很短的變量,
5、仍然使用有意義的名稱。僅對于短循環(huán)索引使用單字母變量名,如 i 或 j。文件名要和類名相同,一般情況下一個類一個文件,文件名遵從Pascal命名法,無特殊情況,擴(kuò)展名小寫,使用統(tǒng)一而又通用的文件擴(kuò)展名: C# 類 .cs。2,縮寫:為了避免混淆和保證跨語言交互操作:o 不要將縮寫或縮略形式用作標(biāo)識符名稱的組成部分。例如,使用 GetWindow,而不要使用 GetWin。o 不要使用計算機(jī)領(lǐng)域中未被普遍接受的縮寫。 o 在適當(dāng)?shù)臅r候,使用眾所周知的縮寫替換冗長的詞組名稱。例如,用 UI 作為 User Interface 縮寫,用 OLAP 作為 On-line Analytical Proc
6、essing 的縮寫。o 在使用縮寫時,對于超過兩個字符長度的縮寫請使用 Pascal 大小寫或 Camel 大小寫。但是,應(yīng)當(dāng)大寫僅有兩個字符的縮寫,如,System.IO,而不是 System.Io。o 對于某些名字中單詞都比較長的情況,可以自行寫一個縮寫名字(名字中的關(guān)鍵字不能縮寫),將所有的縮寫做一個說明文件,放在同級目錄下的開頭。3,命名空間:o 命名命名空間時的一般性規(guī)則是使用公司名稱,后跟技術(shù)名稱和可選的功能與設(shè)計,如下所示: CompanyName.TechnologyName.Feature.Designo 命名空間使用Pascal大小寫,用逗號分隔開。 o Technolo
7、gyName 指的是該項目的英文縮寫,或軟件名。 o 命名空間和類不能使用同樣的名字 4,類o 使用 Pascal 大小寫。 o 使用全稱避免縮寫,除非縮寫已是一種公認(rèn)的約定,如URL、HTML。對于某個命名空間、文件夾下類名中單詞都比較長的情況,可以縮寫(名字中的關(guān)鍵字不能縮寫,其他單詞只取首字母),將所有的縮寫做一個說明文件,放在同級目錄下的開頭。 o 不使用下劃線( _ )。 o 類的命名要見名知意。o 數(shù)據(jù)訪問層:類名后加DAL(Data Access Layer)。注意:在.NET中沒有DAO的概念,DAO是在Java中出現(xiàn)的,表示一種數(shù)據(jù)訪問方式。o 業(yè)務(wù)邏輯層:類名后加BLL(B
8、usiness Logic Layer),如果類名特長可以使用縮寫,但在文檔中要注明??s寫的全稱和意義。o 界面層:asp中針對頁面的類,不用添加UI前綴或后綴。o 實體層:實體類后加Entity做結(jié)尾,如果其他方法中,調(diào)用實體類作為參數(shù),參數(shù)前面加小寫en,如果參數(shù)過長,使用縮寫,但在文檔中也要注明。o 如果系統(tǒng)規(guī)模比較大,應(yīng)該考慮,對類進(jìn)行分組放到不同的文件夾中,便于維護(hù),把握粒度。5,接口:o 使用 Pascal 大小寫。 o 在原有類名基礎(chǔ)上加“I”,如:IUserDaoo 不使用下劃線(_)。 o 當(dāng)類是接口的標(biāo)準(zhǔn)執(zhí)行時,定義這一對類/接口組合就要使用相似的名稱。兩個名稱的不同之處只
9、是接口名前有一個I前綴。或者在實現(xiàn)類名后加“Impl”后綴。public interface IComponentpublic class Component : IComponentpublic class ComponentImpl : IComponent6,枚舉 (Enum)o 對于 Enum 類型和值名稱使用 Pascal 大小寫。 o 命名不能縮寫,枚舉內(nèi)的內(nèi)容可以縮寫。 o 命名禁止加Enum 后綴。7,參數(shù)o 參數(shù)名稱使用Camel大小寫 o 參數(shù)名稱可縮寫8,方法o 以動詞開頭。 o 使用 Pascal 大小寫。 o 禁止縮寫,除非名詞本身含有縮寫。如:AddStudentM
10、gr ()9.屬性(property) o 以名詞或形容詞命名。o 使用 Pascal 大小寫。 o 禁止縮寫。10,委托o 以名詞或形容詞命名。o 使用 Pascal 大小寫。 o 禁止縮寫。o 如果與事件(event)關(guān)聯(lián),則名稱命名使用EventHandler后綴,否則其他名稱均以Delegate后綴結(jié)尾。如/ 普通委托定義public delegate void SetMethodDelegate(string name);/委托與事件關(guān)聯(lián)public delegate void MouseEventHandler(objectsender, MouseEventArgs e);11,
11、事件o 使用 Pascal 大小寫。 o 禁止縮寫。o 名稱命名使用 Event后綴。o 用動詞或名詞命名,帶有時間意義,如:MouseMove事件、Closing 事件、Closed 事件。o 指定兩個名為 sender 和 e 的參數(shù)。sender 參數(shù)表示引發(fā)事件的對象。e為事件類的實例。e參數(shù)類型使用適當(dāng)而特定的事件類。 o 用 EventArgs 后綴命名事件參數(shù)類。示例:public delegate void MouseEventHandler(objectsender, MouseEventArgs e);public event MouseEventHandlerMouseE
12、vent; /事件定義12,常量 (const)o 全部大寫,單詞間以“_”分隔。o 禁止縮寫。 o13,字段o private、protected 使用 Camel 大小寫。o 禁止使用public。14,靜態(tài)字段o 使用名詞、名詞短語或者名詞的縮寫命名靜態(tài)字段。 o 使用 Pascal 大小寫。15,集合o 命名使用復(fù)數(shù)。16,范型o 以一個大寫字母(建議優(yōu)先使用T)表示類的類型,以一個小寫字母(如:t)表示類名。三,編碼規(guī)則a. 大括號規(guī)則o 書寫規(guī)則:if (expression) (推薦)或:if (expression) b. 縮進(jìn)規(guī)則使用一個“Tab”為每層次縮進(jìn)(默認(rèn)4個空格,
13、有的規(guī)范也要求2個空格,依要求而定,所有IDE都可以設(shè)置)。c. 小括號規(guī)則o 不要把小括號和關(guān)鍵詞(if 、while等)緊貼在一起,要用空格隔開它們。如:if (true)o 不要把小括號和函數(shù)名緊貼在一起。 o 除非必要,不要在Return返回語句中使用小括號。因為關(guān)鍵字不是函數(shù),如果小括號緊貼著函數(shù)名和關(guān)鍵字,二者很容易被看成是一體的。d. 單語句規(guī)則除非這些語句有很密切的聯(lián)系,否則每行只寫一個語句。e. 模塊化規(guī)則某一功能,如果重復(fù)實現(xiàn)一遍以上,即應(yīng)考慮模塊化,將它寫成通用函數(shù)。并向小組成員發(fā)布。同時要盡可能利用其它人的現(xiàn)成模塊。f. 函數(shù)復(fù)雜度規(guī)則單個函數(shù)的功能不能過于復(fù)雜,不能超
14、過以下限定:o 單一功能子函數(shù)代碼不得超過50行、形參個數(shù)不得超過7個、程序嵌套深度不得超過7層。o 圈復(fù)雜度必須在15以內(nèi),對程序的修改或擴(kuò)展不得增加其原有圈復(fù)雜度。g. 編碼風(fēng)格規(guī)則編碼過程中需遵循以下風(fēng)格習(xí)慣:o 代碼未寫,文檔先行,注釋必須按照固定統(tǒng)一范式撰寫。o 關(guān)系運算必須常量在左、變量在右。o 不許使用復(fù)雜的運算表達(dá)式,必要時添加括號而不依賴于優(yōu)先級。o 魔鬼數(shù)字需用宏定義替代。 o 局部變量必須初定義、避免不必要的內(nèi)存操作、內(nèi)存操作必須考慮異常處理。h. 版本管理規(guī)則本項目中,每個任務(wù)在完成一個穩(wěn)定的版本后,都應(yīng)打包并且歸檔。源碼包的版本號由圓點隔開的兩個數(shù)字組成,第一個數(shù)字表
15、示發(fā)行號,第二個數(shù)字表示該版的修改號。具體用法如下:o 當(dāng)源碼包初版時,版本號為 V1.00; o 當(dāng)源碼包被局部修改或bug修正時,發(fā)行號不變,修改號第二個數(shù)字增1。例如,對初版源碼包作了第一次修訂,則版本號為 V1.01; o 當(dāng)源碼包在原有的基礎(chǔ)上增加部分功能,發(fā)行號不變,修改號第一個數(shù)字增1,例如,對V1.12版的基礎(chǔ)上增加部分功能,則新版本號為 V1.20; o 當(dāng)源碼包有重要修改或局部修訂累積較多導(dǎo)致源碼包發(fā)生全局變化時,發(fā)行號增1。例如,在 V1.15 版的基礎(chǔ)上作了一次全面修改,則新版本號為 V2.00。四,數(shù)據(jù)庫命名規(guī)則a. 數(shù)據(jù)庫名數(shù)據(jù)庫名采用首字母大寫,避免系統(tǒng)保留的表名
16、。如:LibraryMaintainSystemb. 數(shù)據(jù)庫表使用T_表名,表名采用首字母大寫。如:T_Class如果系統(tǒng)分多個子系統(tǒng)模塊,那么將模塊的縮寫加在T后,用下劃線與表名分開。如:基礎(chǔ)系統(tǒng):TB_Class (Basic)評教系統(tǒng):TA_表名 (Assess)考試系統(tǒng):TE_表名 (Exam)選課系統(tǒng):TC_表名 (Choose)關(guān)聯(lián)數(shù)據(jù)表:TR_表A表B ,兩個表首字母大寫。 一對多關(guān)系,多在前,一在后。一對一和多對多關(guān)系,兩個表的先后,以字母排序。如果分模塊,那么將模塊縮寫添加在T后如:TBR_ClassGrade 表示基礎(chǔ)系統(tǒng),班級和年級的關(guān)系表。c. 表字段第一個字母小寫,后面的單詞或拼音,采用第一個字母大寫,命名規(guī)則只來自于業(yè)務(wù),盡量表達(dá)出列的含義。命名一般為名詞或形容詞。d. 視圖視圖名 = V + “_” + 名稱e. 主鍵主鍵名 = PK + “_”+ 表名f. 外鍵外鍵名 = FK + “_” + 表名g. 索引索引名 = IDX + “_” + 表名 + 相關(guān)字段/索引含義。h
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 開展鳥類保護(hù)活動的策略及實施路徑
- 祛濕藥及方劑講課件
- 多芯片集成-洞察及研究
- 腦梗塞患者康復(fù)治療講課件
- 太原師范學(xué)院《市場查》2023-2024學(xué)年第二學(xué)期期末試卷
- 華北理工大學(xué)輕工學(xué)院《室內(nèi)設(shè)計專題(軟裝設(shè)計)》2023-2024學(xué)年第二學(xué)期期末試卷
- 武漢商貿(mào)職業(yè)學(xué)院《中國畫(寫意)》2023-2024學(xué)年第二學(xué)期期末試卷
- 齊齊哈爾醫(yī)學(xué)院《秦巴生物資源》2023-2024學(xué)年第二學(xué)期期末試卷
- 物聯(lián)行為分析-洞察及研究
- 知道計算機(jī)題庫及答案
- 【大數(shù)據(jù)背景下湯臣倍健公司物流成本管理8900字(論文)】
- 分餾塔構(gòu)造教程課件
- 《勞動法案例》課件
- 安全教育培訓(xùn)課件:食品安全法律法規(guī)
- 社區(qū)養(yǎng)老院項目規(guī)劃設(shè)計方案
- 2023年河北石家莊市事業(yè)單位招聘筆試參考題庫(共500題)答案詳解版
- 跨越檔封網(wǎng)計算表
- 斷路器控制回路和信號回路
- 完整版-第八版內(nèi)科冠心病課件
- 高中英語語法總結(jié)大全
- 2023小學(xué)道德與法治(部編版)五年級下冊 第三單元復(fù)習(xí)課件
評論
0/150
提交評論