代码规范

1 命名规则:

  Camel(驼峰式): 大小写形式-除了第一个单词,所有单词第一个字母大写,其他字母小写。 一般用作本地变量、方法参数名等。

  Pascal(帕斯卡): 大小写形式-所有单词第一个字母大写,其他字母小写。一般用作类名、方法名、属性等。

类名和属性名应该是名词或名词短语,不应当是动词;方法名应当是动词或动词短语。

2、 类型(类、结构、委托、接口)、字段、属性、方法、事件的命名

  优先考虑使用英文(尽量使用英文),如果实在没有合适的英文进行描述,可以使用拼音,用有意义且可读性强名称,使用源自所涉问题领域的名称。

3、不使用缩写

  所有类型、字段、属性、方法、事件尽量不使用缩写,包括大家熟知的缩写,例如msg,不要害怕长名称,长而具有描述性的名称比短而令人费解的名称好。

4、不使用单个字母的变量

  不使用单个字母的变量, 像 i、m、n,使用index等来替换,用于循环迭代的变量除外。

5、 注释

类型、属性、事件、方法、方法参数,根据需要添加注释。如果类型、属性、事件、方法、方法参数的名称已经是自解释了,不需要加注释;否则需要添加注释。

todo注释是一种程序员认为应该做,但是由于某些原因目前还没有做的工作。

6、类型名称和源文件名称一致

当类型命名为Product时,其源文件命名只能是Product.cs。

7、一个方法只完成一个任务。不要把多个任务组合到一个方法中,即使那些任务非常小

8、调用类型成员内部其他成员,需加this,调用父类成员需加base

9、不在代码中使用具体的路径和驱动器名。 使用相对路径,并使路径可复用

10、不要“捕捉了异常却什么也不做“。如果隐藏了一个异常,你将永远不知道异常到底发生了没有

11、如果if语句块的内容只有一行,可以不加花括号,并且最好和if语句位于同一行

12、返回bool类型的方法、属性的命名

如果方法返回的类型是bool类型,则其前缀为Is,例如:IsHidden。

如果某个属性的类型为bool类型,则其前缀为Can,例如:CanHidden。

13、常见后缀类型命名

凡符合下表所列的集合类型,应添加相应的后缀。

说明后缀示例
数组 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连接

14. 代码一定要短小,使用异常代替返回错误码。消除重复,避免冗余。

15. 类不应暴露其内部结构,即不能被直接操作类的私有数据。

16. 不要传递null,返回null不如抛出异常,对可能出现null值的地方作容错处理。

原文地址:https://www.cnblogs.com/maruko/p/8135410.html