PDF版下載:項目代碼風格要求V1.0.pdf
代碼風格沒有正確與否,重要的是整齊劃一,這是我擬的一份《.Net 項目代碼風格要求》,供大家參考。
類型、屬性、事件、方法、方法參數,根據需要添加注釋。
如果類型、屬性、事件、方法、方法參數的名稱已經是自解釋了,不需要加注釋;否則需要添加注釋。
當添加注釋時,添加方式如下圖所示:
優先考慮英文,如果英文沒有合適的單詞描述,可以使用拼音,使用中文是不符合要求的。
唯一可以使用中文的地方是枚舉的枚舉項,枚舉項實際已經不屬於本節標題的范疇了。這裡只是放到一起說明,如下圖所示:
所有類型、方法、參數、變量的命名不得使用縮寫,包括大家熟知的縮寫,例如msg。
第一步,打開Visual Studio,進入“工具”,“選項...”,如下圖所示:
第二步,進入“文本編輯器”,“C#”,“格式設置”,“新行”,取消掉右側所有復選框中的對號,如下圖所示:
第三步,點擊“確定”,完成設置。
第一步,打開Visual Studio,進入“工具”,“選項...”,如下圖所示:
第二步,進入“文本編輯器”,“C#”,“制表符”,如下圖所示,設置制表符。
第三步,點擊“確定”,完成設置。
如果兩個類型的關系是緊密相關的,比如 產品、產品類型,此時Product類,和ProductType枚舉可以定義在同一個Product.cs文件中。
但不能在一個.cs文件中出現兩個不相關的類型定義,例如將 Product類和Reseller類(分銷商)定義在一個BasicInfo.cs文件中。
當類型命名為Product時,其源文件命名只能是Product.cs。
如下圖所示,紅色標記的為使用Pascal風格的類型:
注意ProductType是私有類型,不管類型是公有的還是私有的,其命名總是采用Pascal風格。
紅色標記的為使用Camel風格的變量或者方法參數:
示例代碼如下:
范例1.9 中的if判斷實際上與下面的語句是等效的:
示例代碼如下:
代碼示例如下:
如果需要公有字段,使用屬性進行包裝。
類型成員的排列順序自上而下依次為:
字段:私有字段、受保護字段
屬性:私有屬性、受保護屬性、公有屬性
事件:私有事件、受保護事件、公有事件
構造函數:參數數量最多的構造函數,參數數量中等的構造函數,參數數量最少的構造函數
方法:重載方法的排列順序與構造函數相同,從參數數量最多往下至參數最少。
委托以EventHandler作為後綴命名,例如 SalesOutEventHandler。
事件以其對應的委托類型,去掉EventHandler後綴,並加上On前綴構成。
例如,對於SalesOutEventHandler委托類型的事件,其事件名稱為:OnSalesOut。
示例代碼如下:
如果方法返回的類型為bool類型,則其前綴為Is、Can或者 Try,例如:
凡符合下表所列的集合類型,應添加相應的後綴。
說明 後綴 示例 數組 Array int[] productArray 列表 List List<Product> productList DataTable/HashTable Table HashTable productTable 字典 Dictionary Dictionay<string,string> productDictionary EF中的DbSet /DataSet Set DbSet<Product> productSet凡符合下表所列的局部變量、方法參數、字段、屬性,均需添加相應的後綴。
說明 後綴 示例 示例說明 費用相關 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連接凡存在下表中的類型,需采用下表指定的名稱命名。
類型 命名 類型 命名 客戶 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字段、屬性種類比較繁雜,因此僅列出最常用的幾項。
類型 名稱 類型 名稱 Id(int型) Id(“d”小寫,棄用ID) GuidId(Guid型) Id Name 名稱 Title 標題 Remark 備注、描述(棄用Memo、Description) Category 種類(棄用Class、Type) Linkman 聯系人下面是書寫符合要求的例子:
下面是書寫 不符合要求 的例子:
示例代碼如下:
標注方式如下:
設置方法參考1.4節。
設置方法參考1.5節。
注釋主要說明該樣式應用於頁面的哪個部分,而非說明樣式的應用效果,代碼注釋風格如下所示:
每一個樣式設置必須獨占一行,不能位於同一行,下面是符合要求的寫法:
下面是 不符合要求 的寫法:
嵌入式樣式為直接寫在HTML標記內部的樣式,如下圖所示:
內聯式樣式為寫在<head></head>中的樣式,如下圖所示:
內聯式樣式,不能 寫在<body></body>之間。
外聯式樣式表為寫在.css文件中的樣式,通過link引入到XHTML頁面中,如下圖所示:
設置方法參考1.4節。
設置方法參考1.5節。
代碼注釋需要說明“函數功能”、“入口參數”、“返回值”,注釋范例如下:
其中第一行說明函數功能;第二行說明入口參數;最後一行說明返回值
內嵌式代碼是指寫在XHTML標記中的JavaScript代碼,下面的寫法是 不符合要求 的:
內聯式代碼是指寫在<head />或者<body />之間的代碼:
外聯式代碼指寫在單獨的.js文件中,然後通過script標記連接到XHTML頁面中的代碼。
感謝閱讀,希望這篇文章能給你帶來幫助!