




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、文 檔 作 者:開(kāi)發(fā)/測(cè)試經(jīng)理:項(xiàng) 目 經(jīng) 理:程序編寫(xiě)規(guī)范及約定 (僅供內(nèi)部使用) _ 日期:_/_/_ _ 日期:_/_/_ _ 日期:_/_/_ 請(qǐng)?jiān)谶@里輸入公司名稱 版權(quán)所有 不得復(fù)制XK-DN-2000-10-11-12目錄程序編寫(xiě)規(guī)范及約定 . 31 編寫(xiě)目的 . 32 代碼編寫(xiě)風(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 命名縮寫(xiě) . 53.1.14 數(shù)據(jù)庫(kù)命名 . 53.2 代碼編寫(xiě)命名規(guī)范 . 63.3 界面常用控件命名約定 . 63.4 文件命名規(guī)范 . 73.4.1 文檔文件命名 . 73.4.2 配置文件命名 . 73.4.3 程序文件命名 . 7XK-DN-2000-10-11-12程序編寫(xiě)規(guī)范及約定1 編寫(xiě)目的為了使編寫(xiě)代碼具有可讀性、可理解性、可維護(hù)性,對(duì)程序編寫(xiě)人員代碼實(shí)行
3、統(tǒng)一風(fēng)格,使得程序代碼能夠以名稱反映含義、以形式反映結(jié)構(gòu)。此文檔可供程序代碼編寫(xiě)人員及代碼維護(hù)人員使用。2 代碼編寫(xiě)風(fēng)格2.1 單元風(fēng)格2.2 語(yǔ)句風(fēng)格3 命名規(guī)則3.1 命名約定Pascal和Camel命名約定:編程的命名方式主要有Pascal和Camel兩種(Pascal:每個(gè)單詞的首字母大寫(xiě),例如ProductType;Camel:首個(gè)單詞的首字母小寫(xiě),其余單詞的首字母大寫(xiě),例如productType)3.1.1 標(biāo)志符規(guī)則:Pascal、Camel實(shí)例與描述:例子說(shuō)明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ī)則:全部大寫(xiě)實(shí)例與描述:全部大寫(xiě),單詞間以下劃線隔開(kāi)3.1.6 接口interface規(guī)則:Pascal實(shí)例與描述:IDisposable 注:總是以 I 前綴開(kā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í)例與描述:首字母小寫(xiě)XK-DN-2000-10-11-123.1.10 局部變量規(guī)則:Camel實(shí)例與描述:也可以加入類型標(biāo)識(shí)符,比如對(duì)于System.String類型,聲明變量是以str開(kāi)頭,string strSQL = string.Empty;3.1.11 數(shù)據(jù)成員規(guī)則:Camel 以m開(kāi)頭Pascal命名實(shí)例與描述:如mProductType(m意味member)屬性3.1.12 自定義異常類自定義異常類以Exception結(jié)尾,并且
6、在類名中能清楚的描述出該異常的原因。比如NotFoundFileException,描述出了某個(gè)實(shí)體(文件、內(nèi)存區(qū)域等)無(wú)法被找到。3.1.13 命名縮寫(xiě)在一般情況下,不推薦縮寫(xiě)命名,不要擔(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)寫(xiě),我們一部分人也許知道prod是product的縮寫(xiě),但是每人能保證所有的人都知道它。我個(gè)人認(rèn)為:最優(yōu)秀的代碼它本身就是注釋。作為一流的程序員。并不僅僅實(shí)現(xiàn)功能,而是要讓我們的代碼更加優(yōu)美,具備讓他人維護(hù)或今后擴(kuò)充的能力。作為現(xiàn)在的業(yè)務(wù)系統(tǒng),其門(mén)檻的準(zhǔn)入水平已大大降低,實(shí)現(xiàn)功能上的需求已沒(méi)有什么難度,但是高手和菜鳥(niǎo)的區(qū)別在于,高手的代碼通俗易懂,在整個(gè)編碼的過(guò)程中,不僅能考慮到性能、還會(huì)考慮代碼可讀性和維護(hù)性。3.1.14 數(shù)據(jù)庫(kù)命名數(shù)據(jù)庫(kù)的字段、表名的命名都推薦采用Pascal命名方式,盡量不采用縮寫(xiě)。當(dāng)然,使用長(zhǎng)的字段名、表名,可能會(huì)
8、使SQL語(yǔ)句的編寫(xiě)帶來(lái)負(fù)面影響。我推薦大家可以使用一些ORM,ORM的性能肯定不會(huì)比直接寫(xiě)SQL的好,但是如果做業(yè)務(wù)系統(tǒng),更重要的是系統(tǒng)多久能交付用戶使用,ORM不僅使開(kāi)發(fā)時(shí)間可以縮短不少,并且在后期的維護(hù)上也比直接寫(xiě)SQL便利很多。XK-DN-2000-10-11-123.2 代碼編寫(xiě)命名規(guī)范A. 每行語(yǔ)句至少占一行,如果語(yǔ)句過(guò)長(zhǎng)(超過(guò)一屏),則該語(yǔ)句斷為兩行顯示;B. 把相似的內(nèi)容放在一起,比如數(shù)據(jù)成員、屬性、方法、事件等,并適當(dāng)?shù)氖褂?region#endregion,在編寫(xiě)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ù)人帶來(lái)困擾(2)避免使用不易理解的數(shù)字,用有意義的標(biāo)識(shí)來(lái)替代(枚舉和常量)比如: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 界面常用控件命名約定窗體控件命名以控件縮寫(xiě)3個(gè)字母開(kāi)頭,以
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)財(cái)務(wù)合同范本
- 深圳市房產(chǎn)轉(zhuǎn)讓合同范本
- 城市土地開(kāi)發(fā)和商品房借款合同書(shū)
- 2025探討分期付款買賣合同中的期待權(quán)
- 反恐普法教育主題班會(huì)
- 陪診師考試友善互動(dòng)試題及答案
- 馬工學(xué)的初心與使命探討試題及答案
- 個(gè)人施工合作合同標(biāo)準(zhǔn)文本
- 2025年度毛絨玩具采購(gòu)合同
- 2025聘請(qǐng)安保服務(wù)合同
- 安寧療護(hù)個(gè)案護(hù)理
- 突泉縣牤牛海慶業(yè)煤炭有限責(zé)任公司吉誠(chéng)煤礦2023年度礦山地質(zhì)環(huán)境與土地復(fù)墾治理計(jì)劃
- 眼科護(hù)理中的患者安全管理
- 體育測(cè)量與評(píng)價(jià)-03身體形態(tài)的測(cè)量與評(píng)價(jià)解析
- 洗車店承包方案
- 包裝材料學(xué)課件
- 腦卒中言語(yǔ)治療課件
- 中國(guó)歷史文選一、看
- 《世界各國(guó)民族服飾》課件
- 中成藥臨床應(yīng)用指導(dǎo)原則解讀
- 2023年四川省南充市從“五方面人員”中選拔鄉(xiāng)鎮(zhèn)領(lǐng)導(dǎo)班子成員201人(共500題含答案解析)筆試歷年難、易錯(cuò)考點(diǎn)試題含答案附詳解
評(píng)論
0/150
提交評(píng)論