這篇文章主要講解了“.Net 項(xiàng)目代碼的風(fēng)格要求有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“.Net 項(xiàng)目代碼的風(fēng)格要求有哪些”吧!
創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)欽北,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):135182197921. C# 代碼風(fēng)格要求1.1注釋
類型、屬性、事件、方法、方法參數(shù),根據(jù)需要添加注釋。
如果類型、屬性、事件、方法、方法參數(shù)的名稱已經(jīng)是自解釋了,不需要加注釋;否則需要添加注釋。
當(dāng)添加注釋時(shí),添加方式如下圖所示:
1.2 類型(類、結(jié)構(gòu)、委托、接口)、字段、屬性、方法、事件的命名
優(yōu)先考慮英文,如果英文沒有合適的單詞描述,可以使用拼音,使用中文是不符合要求的。
可以使用中文的地方是枚舉的枚舉項(xiàng),枚舉項(xiàng)實(shí)際已經(jīng)不屬于本節(jié)標(biāo)題的范疇了。這里只是放到一起說明,如下圖所示:
1.3 不使用縮寫
所有類型、方法、參數(shù)、變量的命名不得使用縮寫,包括大家熟知的縮寫,例如msg。
1.4 代碼使用半展開
第一步,打開Visual Studio,進(jìn)入“工具”,“選項(xiàng)...”,如下圖所示:
第二步,進(jìn)入“文本編輯器”,“C#”,“格式設(shè)置”,“新行”,取消掉右側(cè)所有復(fù)選框中的對號(hào),如下圖所示:
第三步,點(diǎn)擊“確定”,完成設(shè)置。
1.5 使用Tab作為縮進(jìn),并設(shè)置縮進(jìn)大小為4
第一步,打開Visual Studio,進(jìn)入“工具”,“選項(xiàng)...”,如下圖所示:
第二步,進(jìn)入“文本編輯器”,“C#”,“制表符”,如下圖所示,設(shè)置制表符。
第三步,點(diǎn)擊“確定”,完成設(shè)置。
1.6 一個(gè).cs源文件至多定義兩個(gè)類型
如果兩個(gè)類型的關(guān)系是緊密相關(guān)的,比如 產(chǎn)品、產(chǎn)品類型,此時(shí)Product類,和ProductType枚舉可以定義在同一個(gè)Product.cs文件中。
但不能在一個(gè).cs文件中出現(xiàn)兩個(gè)不相關(guān)的類型定義,例如將 Product類和Reseller類(分銷商)定義在一個(gè)BasicInfo.cs文件中。
1.7 類型名稱和源文件名稱必須一致
當(dāng)類型命名為Product時(shí),其源文件命名只能是Product.cs。
1.8 所有命名空間、類型名稱使用Pascal風(fēng)格(單詞首字母大寫)
如下圖所示,紅色標(biāo)記的為使用Pascal風(fēng)格的類型:
注意ProductType是私有類型,不管類型是公有的還是私有的,其命名總是采用Pascal風(fēng)格。
1.9 本地變量、方法參數(shù)名稱使用Camel風(fēng)格(首字母小寫,其后每個(gè)單詞的首字母大寫)
紅色標(biāo)記的為使用Camel風(fēng)格的變量或者方法參數(shù):
1.10 私有方法、受保護(hù)方法,仍使用Pascal風(fēng)格命名
示例代碼如下:
1.11 如果if語句內(nèi)容只有一行,可以不加花括號(hào),但是必須和if語句位于同一行
范例1.9 中的if判斷實(shí)際上與下面的語句是等效的:
1.12 調(diào)用類型內(nèi)部其他成員,需加this;調(diào)用父類成員,需加base
示例代碼如下:
1.13 類型內(nèi)部的私有和受保護(hù)字段,使用Camel風(fēng)格命名,但加“_”前綴
代碼示例如下:
1.14 不能出現(xiàn)公有字段
如果需要公有字段,使用屬性進(jìn)行包裝。
1.15 類型成員的排列順序
類型成員的排列順序自上而下依次為:
字段:私有字段、受保護(hù)字段
屬性:私有屬性、受保護(hù)屬性、公有屬性
事件:私有事件、受保護(hù)事件、公有事件
構(gòu)造函數(shù):參數(shù)數(shù)量最多的構(gòu)造函數(shù),參數(shù)數(shù)量中等的構(gòu)造函數(shù),參數(shù)數(shù)量最少的構(gòu)造函數(shù)
方法:重載方法的排列順序與構(gòu)造函數(shù)相同,從參數(shù)數(shù)量最多往下至參數(shù)最少。
1.16 委托和事件的命名
委托以EventHandler作為后綴命名,例如 SalesOutEventHandler。
事件以其對應(yīng)的委托類型,去掉EventHandler后綴,并加上On前綴構(gòu)成。
例如,對于SalesOutEventHandler委托類型的事件,其事件名稱為:OnSalesOut。
示例代碼如下:
1.17 返回bool類型的方法、屬性的命名
如果方法返回的類型為bool類型,則其前綴為Is、Can或者 Try,例如:
1.18 常見集合類型后綴命名
凡符合下表所列的集合類型,應(yīng)添加相應(yīng)的后綴。
說明 | 后綴 | 示例 |
數(shù)組 | Array | int[] productArray |
列表 | List | List |
DataTable/HashTable | Table | HashTable productTable |
字典 | Dictionary | Dictionay |
EF中的DbSet /DataSet | Set | DbSet |
1.19 常見后綴命名
凡符合下表所列的局部變量、方法參數(shù)、字段、屬性,均需添加相應(yīng)的后綴。
說明 | 后綴 | 示例 | 示例說明 |
費(fèi)用相關(guān) | Cost | ShipCost | 運(yùn)輸費(fèi) |
價(jià)格相關(guān) | Price | ProductUnitPrice | 產(chǎn)品單價(jià) |
消息相關(guān) | Message(棄用Note) | SuccessMessage | 成功消息 |
日期相關(guān) | Date(棄用Time) | OrderDate | 下單日期 |
計(jì)數(shù)、數(shù)量相關(guān) | Count(棄用Time) | LoginCount | 登錄次數(shù) |
鏈接地址相關(guān) | Url | BlogUrl | 博客鏈接 |
圖片相關(guān) | Image | SignImage | 簽名圖片 |
金額相關(guān) | Amount | PrepaidAmount | 預(yù)付款 |
點(diǎn)數(shù)、積分相關(guān) | Point | MemberPoint | 會(huì)員積分 |
記錄、日志相關(guān) | Record(棄用Log) | ErrorRecord | 錯(cuò)誤記錄 |
配置相關(guān) | Config | DataBaseConfig | 數(shù)據(jù)庫配置 |
狀態(tài)相關(guān) | Status | OrderStatus | 訂單狀態(tài) |
模式、方式相關(guān) | Mode | OpenMode | 打開方式 |
種類相關(guān) | Category / Type 二選一 | UserCategory | 用戶種類 |
工廠類相關(guān) | Factory | ConnectionFactory | 連接工廠 |
啟用相關(guān) | Enabled | ExportEnabled | 開啟導(dǎo)出 |
流相關(guān) | Stream | UploadStream | 上傳流 |
讀取器相關(guān) | Reader | ExcelReader | Excel讀取器 |
寫入器相關(guān) | Writer | ExcelWriter | Excel寫入器 |
適配器相關(guān) | Adapter | IntroOPAdapter | IntroOP適配器 |
提供器相關(guān) | Provider | MemebershipProvider | 會(huì)員信息提供器 |
包裝器相關(guān) | Wrapper | ProductWrapper | Product包裝器 |
連接相關(guān) | Connection | ExcelConnection | Excel連接 |
1.20 常見類型命名
凡存在下表中的類型,需采用下表指定的名稱命名。
類型 | 命名 | 類型 | 命名 |
客戶 | Customer | 分銷商 | Reseller |
零售商 | Retailer | 經(jīng)銷商/批發(fā)商 | Dealer |
用戶 | UserInfo(User為數(shù)據(jù)庫關(guān)鍵字) | 訂單 | OrderInfo(Order為數(shù)據(jù)庫關(guān)鍵字) |
供應(yīng)商 | Supplier | 管理員 | Admin |
密碼 | Password | 會(huì)員 | Member |
評論 | Remark(棄用Comment) | 文章 | Article |
新聞 | News | 發(fā)票 | Invoice |
導(dǎo)入 | Import | 導(dǎo)出 | Export |
公司、企業(yè) | Company(棄用Enterprise) | 產(chǎn)品 | Product |
省份 | Province | 城市 | City |
區(qū)縣 | District | 地址 | Address |
角色 | Role(棄用Group) | 權(quán)限 | Authority(棄用Permission) |
倉庫 | Warehouse | 工廠 | Plant |
登錄 | Login(棄用SignIn) | 登出 | LogOut(棄用SignOut) |
創(chuàng)建 | Create(棄用Add) | 編輯 | Edit |
更新 | Update | 刪除 | Remove(棄用Delete) |
照片 | Photo | 圖片 | Image |
1.21 常見字段、屬性命名
字段、屬性種類比較繁雜,因此僅列出最常用的幾項(xiàng)。
類型 | 名稱 | 類型 | 名稱 |
Id(int型) | Id(“d”小寫,棄用ID) | GuidId(Guid型) | Id |
Name | 名稱 | Title | 標(biāo)題 |
Remark | 備注、描述(棄用Memo、Description) | Category | 種類(棄用Class、Type) |
Linkman | 聯(lián)系人 |
2. XHTML 代碼風(fēng)格要求2.1 如果XHTML標(biāo)記有層次,那么代碼也要有層次
下面是書寫符合要求的例子:
下面是書寫不符合要求的例子:
2.2 所有標(biāo)記必須閉合
示例代碼如下:
2.3 如果標(biāo)記中間代碼超過20行,則應(yīng)在標(biāo)記末尾加注標(biāo)識(shí)
標(biāo)注方式如下:
3. CSS 代碼風(fēng)格要求3.1 代碼使用半展開
設(shè)置方法參考1.4節(jié)。
3.2 使用Tab作為縮進(jìn),并設(shè)置縮進(jìn)大小為4
設(shè)置方法參考1.5節(jié)。
3.3 代碼注釋
注釋主要說明該樣式應(yīng)用于頁面的哪個(gè)部分,而非說明樣式的應(yīng)用效果,代碼注釋風(fēng)格如下所示:
3.4 代碼編寫
每一個(gè)樣式設(shè)置必須獨(dú)占一行,不能位于同一行,下面是符合要求的寫法:
下面是不符合要求 的寫法:
3.5 嵌入式樣式的比例不超過樣式表代碼總量的10%
嵌入式樣式為直接寫在HTML標(biāo)記內(nèi)部的樣式,如下圖所示:
3.6 內(nèi)聯(lián)式樣式的比例不超過樣式表代碼總量的30%
內(nèi)聯(lián)式樣式為寫在
中的樣式,如下圖所示:內(nèi)聯(lián)式樣式,不能寫在
之間。3.7 外聯(lián)式樣式表的比例不少于樣式表代碼總量的60%
外聯(lián)式樣式表為寫在.css文件中的樣式,通過link引入到XHTML頁面中,如下圖所示:
4. JavaScript 代碼風(fēng)格要求4.1 代碼使用半展開
設(shè)置方法參考1.4節(jié)。
4.2 使用Tab作為縮進(jìn),并設(shè)置縮進(jìn)大小為4
設(shè)置方法參考1.5節(jié)。
4.3 代碼注釋
代碼注釋需要說明“函數(shù)功能”、“入口參數(shù)”、“返回值”,注釋范例如下:
其中第一行說明函數(shù)功能;第二行說明入口參數(shù);最后一行說明返回值
4.4 不得出現(xiàn)內(nèi)嵌式代碼
內(nèi)嵌式代碼是指寫在XHTML標(biāo)記中的JavaScript代碼,下面的寫法是不符合要求 的:
4.5 內(nèi)聯(lián)式代碼占JavaScript的總量不得超過40%
內(nèi)聯(lián)式代碼是指寫在
4.6 外聯(lián)式代碼占JavaScript的總量至少為60%
外聯(lián)式代碼指寫在單獨(dú)的.js文件中,然后通過script標(biāo)記連接到XHTML頁面中的代碼。
感謝閱讀,希望這篇文章能給你帶來幫助!
感謝各位的閱讀,以上就是“.Net 項(xiàng)目代碼的風(fēng)格要求有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對.Net 項(xiàng)目代碼的風(fēng)格要求有哪些這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!