版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、文 檔 作 者:開發(fā)/測(cè)試經(jīng)理:項(xiàng) 目 經(jīng) 理:程序編寫規(guī)范及約定 (僅供內(nèi)部使用) _ 日期:_/_/_ _ 日期:_/_/_ _ 日期:_/_/_ 請(qǐng)?jiān)谶@里輸入公司名稱 版權(quán)所有 不得復(fù)制XK-DN-2000-10-11-12目錄程序編寫規(guī)范及約定 . 31 編寫目的 . 32 代碼編寫風(fēng)格 . 32.1 單元風(fēng)格 . 32.2 語(yǔ)句風(fēng)格 . 33 命名規(guī)則 . 33.1 命名約定 . 33.1.1 標(biāo)志符 . 33.1.2 類class . 33.1.3 枚舉類型enum . 43.1.4 委托delegate . 43.1.5 常量const . 43.1.6 接口interface
2、. 43.1.7 方法function . 43.1.8 命名空間namespace . 43.1.9 參數(shù) . 43.1.10 局部變量 . 53.1.11 數(shù)據(jù)成員 . 53.1.12 自定義異常類 . 53.1.13 命名縮寫 . 53.1.14 數(shù)據(jù)庫(kù)命名 . 53.2 代碼編寫命名規(guī)范 . 63.3 界面常用控件命名約定 . 63.4 文件命名規(guī)范 . 73.4.1 文檔文件命名 . 73.4.2 配置文件命名 . 73.4.3 程序文件命名 . 7XK-DN-2000-10-11-12程序編寫規(guī)范及約定1 編寫目的為了使編寫代碼具有可讀性、可理解性、可維護(hù)性,對(duì)程序編寫人員代碼實(shí)行
3、統(tǒng)一風(fēng)格,使得程序代碼能夠以名稱反映含義、以形式反映結(jié)構(gòu)。此文檔可供程序代碼編寫人員及代碼維護(hù)人員使用。2 代碼編寫風(fēng)格2.1 單元風(fēng)格2.2 語(yǔ)句風(fēng)格3 命名規(guī)則3.1 命名約定Pascal和Camel命名約定:編程的命名方式主要有Pascal和Camel兩種(Pascal:每個(gè)單詞的首字母大寫,例如ProductType;Camel:首個(gè)單詞的首字母小寫,其余單詞的首字母大寫,例如productType)3.1.1 標(biāo)志符規(guī)則:Pascal、Camel實(shí)例與描述:例子說明3.1.2 類class規(guī)則:Pascal實(shí)例與描述:ApplicationXK-DN-2000-10-11-123.1
4、.3 枚舉類型enum規(guī)則:Pascal實(shí)例與描述:記住,是以Pascal命名,切勿包含Enum,否則FXCop會(huì)拋出Issue3.1.4 委托delegate規(guī)則:Pascal實(shí)例與描述:以Pascal命名,不以任何特殊字符串區(qū)別于類名、函數(shù)名3.1.5 常量const規(guī)則:全部大寫實(shí)例與描述:全部大寫,單詞間以下劃線隔開3.1.6 接口interface規(guī)則:Pascal實(shí)例與描述:IDisposable 注:總是以 I 前綴開始,后接Pascal命名3.1.7 方法function規(guī)則:Pascal實(shí)例與描述:ToString3.1.8 命名空間namespace規(guī)則:Pascal實(shí)例與
5、描述:以.分隔,當(dāng)每一個(gè)限定詞均為Pascal命名方式,比如:using ExcelQuicker.Framework3.1.9 參數(shù)規(guī)則:Camel實(shí)例與描述:首字母小寫XK-DN-2000-10-11-123.1.10 局部變量規(guī)則:Camel實(shí)例與描述:也可以加入類型標(biāo)識(shí)符,比如對(duì)于System.String類型,聲明變量是以str開頭,string strSQL = string.Empty;3.1.11 數(shù)據(jù)成員規(guī)則:Camel 以m開頭Pascal命名實(shí)例與描述:如mProductType(m意味member)屬性3.1.12 自定義異常類自定義異常類以Exception結(jié)尾,并且
6、在類名中能清楚的描述出該異常的原因。比如NotFoundFileException,描述出了某個(gè)實(shí)體(文件、內(nèi)存區(qū)域等)無法被找到。3.1.13 命名縮寫在一般情況下,不推薦縮寫命名,不要擔(dān)心變量命名長(zhǎng),長(zhǎng)的變量名能使變量的意義更加清晰,其實(shí)從長(zhǎng)變量名的負(fù)面作用三,因?yàn)镃trl+C和Ctrl+V加上在VS中的智能感知,其負(fù)面追用已經(jīng)很小。變量命名的原則是,盡最大努力讓其他人在看到我們的變量/函數(shù)/等的第一時(shí)間,大概能猜出它是做什么的。比如:int productTypeCount = 0; /我們?cè)诘谝粫r(shí)間就能知道它是記錄產(chǎn)品的數(shù)量的變量而對(duì)于糟糕的命名方式:int prodTypeCount
7、 = 0; /它是productTypeCount的簡(jiǎn)寫,我們一部分人也許知道prod是product的縮寫,但是每人能保證所有的人都知道它。我個(gè)人認(rèn)為:最優(yōu)秀的代碼它本身就是注釋。作為一流的程序員。并不僅僅實(shí)現(xiàn)功能,而是要讓我們的代碼更加優(yōu)美,具備讓他人維護(hù)或今后擴(kuò)充的能力。作為現(xiàn)在的業(yè)務(wù)系統(tǒng),其門檻的準(zhǔn)入水平已大大降低,實(shí)現(xiàn)功能上的需求已沒有什么難度,但是高手和菜鳥的區(qū)別在于,高手的代碼通俗易懂,在整個(gè)編碼的過程中,不僅能考慮到性能、還會(huì)考慮代碼可讀性和維護(hù)性。3.1.14 數(shù)據(jù)庫(kù)命名數(shù)據(jù)庫(kù)的字段、表名的命名都推薦采用Pascal命名方式,盡量不采用縮寫。當(dāng)然,使用長(zhǎng)的字段名、表名,可能會(huì)
8、使SQL語(yǔ)句的編寫帶來負(fù)面影響。我推薦大家可以使用一些ORM,ORM的性能肯定不會(huì)比直接寫SQL的好,但是如果做業(yè)務(wù)系統(tǒng),更重要的是系統(tǒng)多久能交付用戶使用,ORM不僅使開發(fā)時(shí)間可以縮短不少,并且在后期的維護(hù)上也比直接寫SQL便利很多。XK-DN-2000-10-11-123.2 代碼編寫命名規(guī)范A. 每行語(yǔ)句至少占一行,如果語(yǔ)句過長(zhǎng)(超過一屏),則該語(yǔ)句斷為兩行顯示;B. 把相似的內(nèi)容放在一起,比如數(shù)據(jù)成員、屬性、方法、事件等,并適當(dāng)?shù)氖褂?region#endregion,在編寫ASP.NET程序時(shí),對(duì)應(yīng)自動(dòng)產(chǎn)生的控件定義,用#region Automatic Generated Web C
9、omponents #endregion框住C. 使用空格,(1) 雙目操作符的前后加空格(+, =, && 等),index = index + 1;(2) 單目操作符前加空格(!, +, 等), index +;(3) 逗號(hào)、分號(hào)只在后面加空格D. 使用空行,在一段功能代碼、或者函數(shù)、屬性之間插入空行,這樣很直觀。 E. 代碼可讀性一些建議(1)注意運(yùn)算符的優(yōu)先級(jí),應(yīng)該盡量使用括號(hào)明確表達(dá)式的操作順序,避免使用默認(rèn)優(yōu)先級(jí),給維護(hù)人帶來困擾(2)避免使用不易理解的數(shù)字,用有意義的標(biāo)識(shí)來替代(枚舉和常量)比如:if(productType = 0)else if (productType = 1)(不推薦使用)if(productType = ProductType.CD)else if (productType = ProductType.DVD)(3)在界面層中盡量使用異常處理try語(yǔ)句,不要將系統(tǒng)級(jí)別的錯(cuò)誤直接暴露給用戶,而更應(yīng)該的是把系統(tǒng)拋出的錯(cuò)誤信息記錄到LOG日志文件中去,告訴用戶友好的提示信息3.3 界面常用控件命名約定窗體控件命名以控件縮寫3個(gè)字母開頭,以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版房地產(chǎn)項(xiàng)目抵押擔(dān)保合同法律審查意見書3篇
- 2024年度房地產(chǎn)項(xiàng)目分期付款及售后服務(wù)保障合同3篇
- 2024年度水質(zhì)監(jiān)測(cè)合同:萬(wàn)達(dá)商業(yè)廣場(chǎng)水質(zhì)監(jiān)測(cè)與凈化管理服務(wù)合同3篇
- 2024版智能消防系統(tǒng)研發(fā)與推廣應(yīng)用合同3篇
- 2024版紡織服裝行業(yè)存貨質(zhì)押融資業(yè)務(wù)合同3篇
- 2024版板材出口貿(mào)易代理合同模板2篇
- 2024年度上海城市綠化景觀設(shè)計(jì)施工合同
- 2024年度新能源技術(shù)研發(fā)與委托制造合同2篇
- 2024版知識(shí)產(chǎn)權(quán)保護(hù)與維權(quán)服務(wù)合同7篇
- 2024年度裝修工程改造合同2篇
- 山東省棗莊市滕州市2023-2024學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)試題(含答案)
- 北京市東城區(qū)2023-2024學(xué)年高二上學(xué)期期末考試數(shù)學(xué)
- 20馬工程教材《公共財(cái)政概論》
- 如家酒店服務(wù)營(yíng)銷策略研究
- 部隊(duì)春節(jié)文藝匯演策劃方案
- 2021年直播復(fù)盤表
- 醫(yī)院信息系統(tǒng)癱瘓應(yīng)急預(yù)案
- 小說網(wǎng)站創(chuàng)業(yè)計(jì)劃書項(xiàng)目運(yùn)營(yíng)方案
- 電影制作與影視劇創(chuàng)作培訓(xùn)課程大綱
- 三年級(jí)上遞等式計(jì)算300題
- 2023-2024學(xué)年廣州市越秀區(qū)八年級(jí)上英語(yǔ)期末考試題(含答案和音頻)
評(píng)論
0/150
提交評(píng)論