C# 代码风格要求

发布时间:2026/7/4 11:04:45
C# 代码风格要求 类型、属性、事件、方法、方法参数根据需要添加注释。如果类型、属性、事件、方法、方法参数的名称已经是自解释了不需要加注释否则需要添加注释。当添加注释时添加方式如下图所示1.2 类型类、结构、委托、接口、字段、属性、方法、事件的命名优先考虑英文如果英文没有合适的单词描述可以使用拼音使用中文是不符合要求的。唯一可以使用中文的地方是枚举的枚举项枚举项实际已经不属于本节标题的范畴了。这里只是放到一起说明如下图所示1.3 不使用缩写所有类型、方法、参数、变量的命名不得使用缩写包括大家熟知的缩写例如msg。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 常见集合类型后缀命名凡符合下表所列的集合类型应添加相应的后缀。说明后缀示例数组Arrayint[] productArray列表ListListProduct productListDataTable/HashTableTableHashTable productTable字典DictionaryDictionaystring,string productDictionaryEF中的DbSet /DataSetSetDbSetProduct productSet1.19 常见后缀命名凡符合下表所列的局部变量、方法参数、字段、属性均需添加相应的后缀。说明后缀示例示例说明费用相关CostShipCost运输费价格相关PriceProductUnitPrice产品单价消息相关Message弃用NoteSuccessMessage成功消息日期相关Date弃用TimeOrderDate下单日期计数、数量相关Count弃用TimeLoginCount登录次数链接地址相关UrlBlogUrl博客链接图片相关ImageSignImage签名图片金额相关AmountPrepaidAmount预付款点数、积分相关PointMemberPoint会员积分记录、日志相关Record弃用LogErrorRecord错误记录配置相关ConfigDataBaseConfig数据库配置状态相关StatusOrderStatus订单状态模式、方式相关ModeOpenMode打开方式种类相关Category / Type 二选一UserCategory用户种类工厂类相关FactoryConnectionFactory连接工厂启用相关EnabledExportEnabled开启导出流相关StreamUploadStream上传流读取器相关ReaderExcelReaderExcel读取器写入器相关WriterExcelWriterExcel写入器适配器相关AdapterIntroOPAdapterIntroOP适配器提供器相关ProviderMemebershipProvider会员信息提供器包装器相关WrapperProductWrapperProduct包装器连接相关ConnectionExcelConnectionExcel连接1.20 常见类型命名凡存在下表中的类型需采用下表指定的名称命名。类型命名类型命名客户Customer分销商Reseller零售商Retailer经销商/批发商Dealer用户UserInfoUser为数据库关键字订单OrderInfoOrder为数据库关键字供应商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图片Image1.21 常见字段、属性命名字段、属性种类比较繁杂因此仅列出最常用的几项。类型名称类型名称Idint型Id“d”小写弃用IDGuidIdGuid型IdName名称Title标题Remark备注、描述弃用Memo、DescriptionCategory种类弃用Class、TypeLinkman联系人2. XHTML 代码风格要求2.1 如果XHTML标记有层次那么代码也要有层次下面是书写符合要求的例子下面是书写不符合要求的例子2.2 所有标记必须闭合示例代码如下2.3 如果标记中间代码超过20行则应在标记末尾加注标识标注方式如下3. CSS 代码风格要求3.1 代码使用半展开设置方法参考1.4节。3.2 使用Tab作为缩进并设置缩进大小为4设置方法参考1.5节。3.3 代码注释