項目代碼風格要求
PDF版下載:項目代碼風格要求V1.0.pdf數據庫
代碼風格沒有正確與否,重要的是整齊劃一,這是我擬的一份《項目代碼風格要求》,供你們參考。編程
給你們再推薦一篇文章:來自編程之家的C#命名開發規範數組
1. C# 代碼風格要求
1.1註釋
類型、屬性、事件、方法、方法參數,根據須要添加註釋。app
若是類型、屬性、事件、方法、方法參數的名稱已是自解釋了,則不須要加註釋;不然必須添加註釋。編輯器
當添加註釋時,添加方式以下圖所示:ide
1.2 類型(類、結構、委託、接口)、字段、屬性、方法、事件的命名
優先考慮英文,若是英文沒有合適的單詞描述,可使用拼音,使用中文是不符合要求的。函數
惟一可使用中文的地方是枚舉的枚舉項,枚舉項實際已經不屬於本節標題的範疇了。這裏只是放到一塊兒說明,以下圖所示:工具
1.3 不使用縮寫
全部類型、方法、參數、變量的命名不得使用縮寫,包括你們熟知的縮寫,例如msg。ui
1.4 代碼使用半展開
第一步,打開Visual Studio,進入「工具」,「選項...」,以下圖所示:
第二步,進入「文本編輯器」,「C#」,「格式設置」,「新行」,取消掉右側全部複選框中的對號,以下圖所示:
第三步,點擊「肯定」,完成設置。
1.5 使用Tab做爲縮進,並設置縮進大小爲4
第一步,打開Visual Studio,進入「工具」,「選項...」,以下圖所示:
第二步,進入「文本編輯器」,「C#」,「製表符」,以下圖所示,設置製表符。
第三步,點擊「肯定」,完成設置。
1.6 一個.cs源文件至多定義兩個類型
若是兩個類型的關係是緊密相關的,好比 產品、產品類型,此時Product類,和ProductType枚舉能夠定義在同一個Product.cs文件中。
但不能在一個.cs文件中出現兩個不相關的類型定義,例如將 Product類和Reseller類(分銷商)定義在一個BasicInfo.cs文件中。
1.7 類型名稱和源文件名稱必須一致
當類型命名爲Product時,其源文件命名只能是Product.cs。
1.8 全部命名空間、類型名稱使用Pascal風格(單詞首字母大寫)
以下圖所示,紅色標記的爲使用Pascal風格的類型:
注意ProductType是私有類型,無論類型是公有的仍是私有的,其命名老是採用Pascal風格。
1.9 本地變量、方法參數名稱使用Camel風格(首字母小寫,其後每一個單詞的首字母大寫)
紅色標記的爲使用Camel風格的變量或者方法參數:
1.10 私有方法、受保護方法,仍使用Pascal風格命名
示例代碼以下:
1.11 若是if語句內容只有一行,能夠不加花括號,可是必須和if語句位於同一行
範例1.9 中的if判斷實際上與下面的語句是等效的:
1.12 調用類型內部其餘成員,需加this;調用父類成員,需加base
示例代碼以下:
1.13 類型內部的私有和受保護字段,使用Camel風格命名,但加「_」前綴
代碼示例以下:
1.14 不能出現公有字段
若是須要公有字段,使用屬性進行包裝。
1.15 類型成員的排列順序
類型成員的排列順序自上而下依次爲:
字段:私有字段、受保護字段
屬性:私有屬性、受保護屬性、公有屬性
事件:私有事件、受保護事件、公有事件
構造函數:參數數量最多的構造函數,參數數量中等的構造函數,參數數量最少的構造函數
方法:重載方法的排列順序與構造函數相同,從參數數量最多往下至參數最少。
1.16 委託和事件的命名
委託以EventHandler做爲後綴命名,例如 SalesOutEventHandler。
事件以其對應的委託類型,去掉EventHandler後綴,並加上On前綴構成。
例如,對於SalesOutEventHandler委託類型的事件,其事件名稱爲:OnSalesOut。
示例代碼以下:
1.17 返回bool類型的方法、屬性的命名
若是方法返回的類型爲bool類型,則其前綴爲Is、Can或者 Try,例如:
1.18 常見集合類型後綴命名
凡符合下表所列的集合類型,應添加相應的後綴。
說明 | 後綴 | 示例 |
數組 | Array | int[] productArray |
列表 | List | List<Product> productList |
DataTable/HashTable | Table | HashTable productTable |
字典 | Dictionary | Dictionay<string,string> productDictionary |
EF中的DbSet /DataSet | Set | DbSet<Product> productSet |
1.19 常見後綴命名
凡符合下表所列的局部變量、方法參數、字段、屬性,均需添加相應的後綴。
說明 | 後綴 | 示例 | 示例說明 |
費用相關 | Cost | ShipCost | 運輸費 |
價格相關 | Price | ProductUnitPrice | 產品單價 |
消息相關 | Message(棄用Note) | SuccessMessage | 成功消息 |
日期相關 | Date(棄用Time) | OrderDate | 下單日期 |
計數、數量相關 | Count(棄用Time) | LoginCount | 登陸次數 |
連接地址相關 | Url | BlogUrl | 博客連接 |
圖片相關 | Image | SignImage | 簽名圖片 |
金額相關 | Amount | PrepaidAmount | 預付款 |
點數、積分相關 | Point | MemberPoint | 會員積分 |
記錄、日誌相關 | Record(棄用Log) | ErrorRecord | 錯誤記錄 |
配置相關 | Config | DataBaseConfig | 數據庫配置 |
狀態相關 | Status | OrderStatus | 訂單狀態 |
模式、方式相關 | Mode | OpenMode | 打開方式 |
種類相關 | Category / Type 二選一 | UserCategory | 用戶種類 |
工廠類相關 | Factory | ConnectionFactory | 鏈接工廠 |
啓用相關 | Enabled | ExportEnabled | 開啓導出 |
流相關 | Stream | UploadStream | 上傳流 |
讀取器相關 | Reader | ExcelReader | Excel讀取器 |
寫入器相關 | Writer | ExcelWriter | Excel寫入器 |
適配器相關 | Adapter | IntroOPAdapter | IntroOP適配器 |
提供器相關 | Provider | MemebershipProvider | 會員信息提供器 |
包裝器相關 | Wrapper | ProductWrapper | Product包裝器 |
鏈接相關 | Connection | ExcelConnection | Excel鏈接 |
1.20 常見類型命名
凡存在下表中的類型,需採用下表指定的名稱命名。
類型 | 命名 | 類型 | 命名 |
客戶 | Customer | 分銷商 | Reseller |
零售商 | Retailer | 經銷商/批發商 | Dealer |
用戶 | UserInfo(User爲數據庫關鍵字) | 訂單 | OrderInfo(Order爲數據庫關鍵字) |
供應商 | Supplier | 管理員 | Admin |
密碼 | Password | 會員 | Member |
評論 | Remark(棄用Comment) | 文章 | Article |
新聞 | News | 發票 | Invoice |
導入 | Import | 導出 | Export |
公司、企業 | Company(棄用Enterprise) | 產品 | Product |
省份 | Province | 城市 | City |
區縣 | District | 地址 | Address |
角色 | Role(棄用Group) | 權限 | Authority(棄用Permission) |
倉庫 | Warehouse | 工廠 | Plant |
登陸 | Login(棄用SignIn) | 登出 | LogOut(棄用SignOut) |
建立 | Create(棄用Add) | 編輯 | Edit |
更新 | Update | 刪除 | Remove(棄用Delete) |
照片 | Photo | 圖片 | Image |
1.21 常見字段、屬性命名
字段、屬性種類比較繁雜,所以僅列出最經常使用的幾項。
類型 | 名稱 | 類型 | 名稱 |
Id(int型) | Id(「d」小寫,棄用ID) | GuidId(Guid型) | Id |
Name | 名稱 | Title | 標題 |
Remark | 備註、描述(棄用Memo、Description) | Category | 種類(棄用Class、Type) |
Linkman | 聯繫人 |
2. XHTML 代碼風格要求
2.1 若是XHTML標記有層次,那麼代碼也要有層次
下面是書寫符合要求的例子:
下面是書寫 不符合要求 的例子:
2.2 全部標記必須閉合
示例代碼以下:
2.3 若是標記中間代碼超過20行,則應在標記末尾加註標識
標註方式以下:
3. CSS 代碼風格要求
3.1 代碼使用半展開
設置方法參考1.4節。
3.2 使用Tab做爲縮進,並設置縮進大小爲4
設置方法參考1.5節。
3.3 代碼註釋
註釋主要說明該樣式應用於頁面的哪一個部分,而非說明樣式的應用效果,代碼註釋風格以下所示:
3.4 代碼編寫
每個樣式設置必須獨佔一行,不能位於同一行,下面是符合要求的寫法:
下面是 不符合要求 的寫法:
3.5 嵌入式樣式的比例不超過樣式表代碼總量的10%
嵌入式樣式爲直接寫在HTML標記內部的樣式,以下圖所示:
3.6 內聯式樣式的比例不超過樣式表代碼總量的30%
內聯式樣式爲寫在<head></head>中的樣式,以下圖所示:
內聯式樣式,不能 寫在<body></body>之間。
3.7 外聯式樣式表的比例很多於樣式表代碼總量的60%
外聯式樣式表爲寫在.css文件中的樣式,經過link引入到XHTML頁面中,以下圖所示:
4. JavaScript 代碼風格要求
4.1 代碼使用半展開
設置方法參考1.4節。
4.2 使用Tab做爲縮進,並設置縮進大小爲4
設置方法參考1.5節。
4.3 代碼註釋
代碼註釋須要說明「函數功能」、「入口參數」、「返回值」,註釋範例以下:
其中第一行說明函數功能;第二行說明入口參數;最後一行說明返回值
4.4 不得出現內嵌式代碼
內嵌式代碼是指寫在XHTML標記中的JavaScript代碼,下面的寫法是 不符合要求 的:
4.5 內聯式代碼佔JavaScript的總量不得超過40%
內聯式代碼是指寫在<head />或者<body />之間的代碼:
4.6 外聯式代碼佔JavaScript的總量至少爲60%
外聯式代碼指寫在單獨的.js文件中,而後經過script標記鏈接到XHTML頁面中的代碼。