最近沒啥時間自己狀態也不是很好,公司的事情忙,自己也有一些事情要處理,所以好久沒有寫博客了。利用公司午休時間寫一寫,以下是參考了一些資料,整理出來,共勉之。
代碼風格沒有正確與否,重要的是整齊劃一,清晰易讀。
類型、屬性、事件、方法、方法參數,根據需要添加注釋。
如果類型、屬性、事件、方法、方法參數的名稱已經是自解釋了,不需要加注釋;否則需要添加注釋。
當添加注釋時,添加方式如下圖所示:
優先考慮英文,如果英文沒有合適的單詞描述,可以使用拼音,使用中文是不符合要求的。
唯一可以使用中文的地方是枚舉的枚舉項,枚舉項實際已經不屬于本節標題的范疇了。這里只是放到一起說明,如下圖所示:
所有類型、方法、參數、變量的命名不得使用縮寫,包括大家熟知的縮寫,例如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頁面中的代碼。
新聞熱點
疑難解答