博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#项目代码规范
阅读量:6435 次
发布时间:2019-06-23

本文共 1484 字,大约阅读时间需要 4 分钟。

目的

  1.方便代码的交流和维护。

  2.不影响编码的效率,不与大众习惯冲突。

  3.使代码更美观、阅读更方便。

  4.使代码的逻辑更清晰、更易于理解。

在C#中通常使用的两种编码方式如下

  Camel(驼峰式): 大小写形式-除了第一个单词,所有单词第一个字母大写,其他字母小写。

  Pascal(帕斯卡): 大小写形式-所有单词第一个字母大写,其他字母小写。

C#代码规范

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

  优先考虑使用英文(尽量使用英文),如果实在没有合适的英文进行描述,可以使用拼音,使用中文是不符合要求的。

2、不使用缩写

  所有类型、字段、属性、方法、事件尽量不使用缩写,包括大家熟知的缩写,例如msg。

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

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

 

4、用Tab作为缩进,并设置缩进大小为4

5、 注释

类型、属性、事件、方法、方法参数,根据需要添加注释。

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

否则需要添加注释。

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

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

7、所有命名空间、类型名称使用Pascal风格

8、本地变量、方法参数名使用Camel风格(不使用下划线)

红色标记的为使用Camel风格的变量或者方法参数

9、在一个类中,各个方法需用一空行(最好是一个空行)

10、避免使用大文件。如果一个文件里的代码超过300-400行,必须考虑将代码分开到不同的类中。同时避免写太长的方法,如果一个方法代码过长(暂时没有明确指出方法的行数),应该考虑将其分解为不同的方法

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

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

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

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

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

16、类型内部的私有字段和受保护字段,使用Camel风格命名,但加“_”前缀

 

17、类型成员的排列顺序

类型成员的排列顺序自上而下依次为:

字段:私有字段、受保护字段

属性:私有属性、受保护属性、公有属性

事件:私有事件、受保护事件、公有事件

构造函数:参数数量最多的构造函数,参数数量中等的构造函数,参数数量最少的构造函数

方法:重载方法的排列顺序与构造函数相同,从参数数量最多往下至参数最少

18、委托和事件的命名

委托以EventHandler作为后缀命名,例如 SalesOutEventHandler。

事件以其对应的委托类型,去掉EventHandler后缀,并加上On前缀构成。

示例代码如下:

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

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

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

20、常见集合后缀类型命名

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

21、常见字段、属性命名

字段、属性种类比较繁杂,因此仅列出最常用的几项

转载于:https://www.cnblogs.com/AaronBlogs/p/6815848.html

你可能感兴趣的文章
读《图解HTTP》总结--第六章
查看>>
毕业就能拿到上万薪资的程序员他们都做了啥?
查看>>
最小的k个数
查看>>
Spring cloud Eureka(注册服务中心)
查看>>
Hello World,第一个android程序
查看>>
Cocosd-x设计模式之四 :外观模式
查看>>
FWSM-no connection SYN ACK
查看>>
wince c# 程序只能运行一次
查看>>
我的友情链接
查看>>
一些Mac OS X 10.9.3 4K的使用感受
查看>>
Android触控屏幕Gesture(GestureDetector和SimpleOnGest...
查看>>
C#在代码中演示值传递和引用传递的含义,区别
查看>>
C语言画图及小动画制作(graphisc.h函数入门)
查看>>
ibm HA补丁下载
查看>>
php中的魔术方法__call(),__clone(),__set(),__get()
查看>>
System Center 2012R2之SCDPM的管理操作
查看>>
文本搜索之grep、fgrep、egrep以及正则表达式
查看>>
nutch 部署到eclipse常见错误
查看>>
zabbix报警发邮件的频率和trigger检测频率一样
查看>>
Linux下Shell脚本输出带颜色文字
查看>>