C#编程规范
C#编程规范
一个团队在开发一个系统时,开发规范的标准化对于相互协作和统一管理非常重要,当一个项目组成员在使用标准化的开发规范时,对整个工程的帮助会有:
1、 提高代码的质量:在标准化开发规范下,程序员会减少犯错的机会。
2、提高代码的可维护性:每个人可以按照规范了解别人的工作。
3、提高代码的开发速度:对于新人程序员,只要掌握开发标准,能很快融入到开发组。
4、易于代码的回顾。
(一) 规范化命名
1、命名规范是程序规划的核心,一定要表意清晰。
2、常用命名的风格:
1) Pascal风格:每个单词第一个字母大写,其它全小写。
2) Camel风格:第一个单词首字母小写,其它单词首字母大写,字母小写。
Pascal风格:
1. 命名空间名称:
2. 类名:
3. 属性名:
4. 方法名:
5. 接口名:
6. 事件名:
Camel风格:
1、类的成员变量(私有成员)并可以使用前缀_。
2、局部变量。
3、方法的参数,有些程序员习惯用数据类型做前缀,用来确定参数的数据类型,例如:sName,iAge等。
常量风格:常量名全用大写,单词之间用”_”隔开。
(二) 规范化括号
1、将大括号放置在关键词(if,while,for….)的下方同列处。
2、首括号与关键字同行,而尾括号与关键字同列。
总结:以上两种在程序员中有争论,在开发中,任意一种都可以,然而一定要在项目组内确定一种。第一种是Visual Studio的默认风格,要修改成第二种,可以[工具]à[设置]à[文本编辑器]à[格式设置]à将“括号与构造放在同一行“。
(三) 规范化注释
1) 文件级注释:
/**********************************************
* 作 者:Zhang Wei
* 创建日期:2007年8月8日
* 描 述:这里完成了XXX的功能
* 注意事项:引用了组件XXX
* 遗留BUG:不能XXX
* 修改日期:2008年8月10日
***********************************************/
2) 方法级注释(文档注释):1.调用方法时显示注释。2.可以生成网页形式做帮助文档。
第一类:包括像<summary>, <param> or <exception>的标签。描述一个程序的API元素的这些文档说明项必须写清楚以方便其他程序员。第二类用诸如<code>, <list> or <para>标签,用于控制备注说明的布局。文件可以用‘文件’菜单中的‘创建’菜单产生。文件以HTML格式产生。
3) 代码功能块级注释:通常在方法中一个代码块完成一个特定的子问题,称这样一个代码块为功能块。
//把数据绑定到DataGrid
DataGrid.DataSource=ds.Tables[“emp”];
4) 代码行级注释: (单行注释快捷键,Alt+/)注释的长度不应该超过被解释代码的长度太长,因为这表示代码过于复杂,有潜在的bug。
Conn.Close(); //关闭连接
5) #region块:C# 中的 #region 和 #endregion 表示一块区域,它们必须成对使用,使用#region语句块后,可以将这块区域的代码折叠起来,便于阅读代码。
1.#region和#endregion大小写敏感。
2.可以嵌套。
3.在#region后面可跟文字对该区域进行说明。
(四) 目录设计
为每一个命名空间创建一个目录,这样可以更容易地将命名空间映射到目录层次划分。
(五) 空白
利用空格进行缩进从未有过统一的标准。一些人喜欢用两个空格,一些人喜欢用四个空格而还有一些人喜欢用八个空格,甚至有的人喜欢用更多的空格。好的做法是用制表符。制表符有一些优点:
· 每个人都可以设置他们自己喜欢的缩进层级。
· 它仅仅是1个字符而不是2,4,8等等,因此它将减少输入(甚至因为自动缩进,有时你不得不手工设置缩进或取消设置,等等诸如此类的操作)。
· 如果你想增加或减少缩进,可以标记一块,使用Tab增加缩进层级而用Shift-Tab减少缩进层级。这几乎对于任何文本编辑器都是适用的。
这里,我们定义制表符为标准缩进符。
(六) 初始化
局部变量一旦被声明就要初始化。
例如: string name = myObject.Name;
注意:如果你初始化一个dialog,设计使用using语句:
using (OpenFileDialog openFileDialog = new OpenFileDialog()) {
...
}
(七) 返回语句
一个返回语句不要用最外围圆括号。
不用:return (n * (n + 1) / 2);
用: return n * (n + 1) / 2;
(八) 实施标准
在制定了开发标准后,在项目组中实施可能还会遇到一些阴碍,一是某些经验丰富的程序员有多年习惯,不愿遵守开发标准。二是有能可制定标准的人没有丰富的开发经验,制定一些意义不大的规范等等。不管怎么,只要最后系统完成,大家总会接受这个标准,标准一定要经过代码的检验。
浙公网安备 33010602011771号