C#编码标准
一、命名约定
1.PascalCasting
PascalCasing 每一个单词第一个字母大写,其余字母均小写。例如:FileAccess,ArraySegment等。
- 除了参数、变量、常量外,所有命名空间名称、类、 函数、接口、属性、事件、枚举等名称的命名,使用Pascal风格。
 
2.camelCasting
camelCasing 第一个单词首字母小写,其余单词首字母大写。例如:propertyName,filePath等。
- 参数与变量的命名使用camelCasing风格。
 
3.SCREAMING_CAPS
SCREAMING_CAPS每个单词的所有字母都大写,单词与单词之间用"_"连接,该风格目前在c#中只用于const常量。
如:public const string DEFAULT_PAGE = "default.aspx";
- 只用于const常量。
 
4.私有变量的命名
Private的私有变量使用下划线""或"m"+camelCasing的大小写规则,以便快速确认该变量的作用域。
如: private int _userId;
二、命名方法
1.所有的命名(包括标识符,类,接口,函数等等)使用有意义的英文标识符,不允许使用汉语拼音,也不允许使用中文作为各种命名。
2.避免容易被主观解释的难懂的名称,如方面名 AnalyzeThis(),或者属性名 xxK8。这样的名称会导致多义性。
3、在类属性的名称中包含类名是多余的,如 Book.BookTitle。而是应该使用 Book.Title。
4、只要合适,在变量名的末尾或开头加计算限定符(Avg、Sum、Min、Max、Index)。
5、在变量名中使用互补对,如 min/max、begin/end 和 open/close。
6、布尔变量名表示是否时可以包含 Is,这意味着 Yes/No 或 True/False 值,如 fileIsFound。
7、即使对于可能仅出现在几个代码行中的生存期很短的变量,仍然使用有意义的名称。仅对于短循环索引使用单字母变量名,如 i 或 j。
三、附录
1、控件相关命名,红色是常用控件
| 
 控件名  | 
 简写  | 
 控件名  | 
 简写  | 
| 
 Label  | 
 lbl  | 
 TextBox  | 
 txt  | 
| 
 Button  | 
 btn  | 
 LinkButton  | 
 lnkbtn  | 
| 
 ImageButton  | 
 imgbtn  | 
 DropDownList  | 
 ddl  | 
| 
 ListBox  | 
 lst  | 
 DataGridView  | 
 dgv  | 
| 
 DataList  | 
 dl  | 
 CheckBox  | 
 chk  | 
| 
 CheckBoxList  | 
 chkls  | 
 RadioButton  | 
 rdo  | 
| 
 RadioButtonList  | 
 rdolt  | 
 Image  | 
 img  | 
| 
 Panel  | 
 pnl  | 
 Calender  | 
 cld  | 
| 
 AdRotator  | 
 ar  | 
 Table  | 
 tbl  | 
| 
 RequiredFieldValidator  | 
 rfv  | 
 CompareValidator  | 
 cv  | 
| 
 RangeValidator  | 
 rv  | 
 RegularExpressionValidator  | 
 rev  | 
| 
 ValidatorSummary  | 
 vs  | 
 CrystalReportViewer  | 
 rptvew  | 
| 
 ListView  | 
 lst  | 
 DataGrid  | 
 dg  | 
2 常见集合类型后缀命名
凡符合下表所列的集合类型,应添加相应的后缀。
| 说明 | 后缀 | 示例 | |
| 数组 | Array 或 s | int[] productArray 或 int[] products | |
| 列表 | List 或 s | List<Product> productList 或 List<Product> products | |
| DataTable/HashTable | Table | HashTable productTable | |
| 字典 | Dictionary 或 Dic | Dictionay<string,string> productDictionary 或 Dictionay<string,string> productDic | |
| DbSet /DataSet | Set 或DataSet | DbSet<Product> productSet 或 DbSet<Product> productDataSet | |
| 集合 | Coll 或 s 或 Collection | TableCollection tables 或 TableCollection tableColl 或 TableCollection tableCollection | 
凡符合下表所列的局部变量、方法参数、字段、属性,均需添加相应的后缀。
| 后缀 | 示例 | 示例说明 | |
| 费用相关 | Cost | ShipCost | 运输费 | 
| 价格相关 | Price | ProductUnitPrice | 产品单价 | 
| 消息相关 | Message | SuccessMessage | 成功消息 | 
| 日期相关 | Date | OrderDate | 下单日期 | 
| 计数、数量相关 | Count | LoginCount | 登录次数 | 
| 链接地址相关 | Url | BlogUrl | 博客链接 | 
| 图片相关 | Image | SignImage | 签名图片 | 
| 金额相关 | Amount | PrepaidAmount | 预付款 | 
| 点数、积分相关 | Point | MemberPoint | 会员积分 | 
| 记录相关 | Record | ErrorRecord | 错误记录 | 
| 配置相关 | Config | DataBaseConfig | 数据库配置 | 
| 状态相关 | Status | OrderStatus | 订单状态 | 
| 模式、方式相关 | Mode | OpenMode | 打开方式 | 
| 种类相关 | Category / Type(类型) / Class 三选一 | UserCategory | 用户种类 | 
| 工厂类相关 | Factory | ConnectionFactory | 连接工厂 | 
| 启用相关 | Enabled | ExportEnabled | 开启导出 | 
| 流相关 | Stream | UploadStream | 上传流 | 
| 读取器相关 | Reader | ExcelReader | Excel读取器 | 
| 写入器相关 | Writer | ExcelWriter | Excel写入器 | 
| 适配器相关 | Adapter | IntroOPAdapter | IntroOP适配器 | 
| 提供器相关 | Provider | MemebershipProvider | 会员信息提供器 | 
| 包装器相关 | Wrapper | ProductWrapper | Product包装器 | 
| 连接相关 | Connection | ExcelConnection | Excel连接 | 
4、常见类型命名
凡存在下表中的类型,需采用下表指定的名称命名。
| 命名 | 类型 | 命名 | |
| 客户 | Customer | 分销商 | Reseller | 
| 零售商 | Retailer | 经销商/批发商 | Dealer | 
| 用户 | user | 订单 | Order | 
| 供应商 | Supplier | 管理员 | Admin | 
| 密码 | Password | 会员 | Member | 
| 评论 | Remark | 文章 | Article | 
| 新闻 | News | 发票 | Invoice | 
| 导入 | Import | 导出 | Export | 
| 公司、企业 | Company | 产品 | Product | 
| 省份 | Province | 城市 | City | 
| 区县 | District | 地址 | Address | 
| 角色 | Role | 权限 | Authority | 
| 仓库 | Warehouse | 工厂 | Plant | 
| 登录 | Login | 登出 | LogOut | 
| 创建 | Create | 编辑 | Edit | 
| 更新 | Update | 删除 | Remove | 
| 照片 | Photo | 图片 | Image | 
5、 常见字段,属性命名
字段、属性种类比较繁杂,因此仅列出最常用的几项。
| 名称 | 类型 | 名称 | |
| Id(int型) | Id(“d”小写,弃用ID) | GuidId(Guid型) | Id | 
| Name | 名称 | Title | 标题 | 
| Remark | 备注、描述(弃用Memo、Description) | Category | 种类(弃用Class、Type) | 
                
            
        
浙公网安备 33010602011771号