/*******************************************************************************************
文件名 :.Net代码规范
版本号 :2.0
作者 :Jack.Chen
建立日期 :
*******************************************************************************************/
字段&常量的命名
---------------
1.类的私有成员字段以'_'开头,并且第一个单词小写,后续的单词除了首字母大写外其他字母小写。禁止定义公有成员字段,如有需要,则定义私有成员字段,然后以属性的方式公开。局部变量第一个单词小写,后续的单词除了首字母大写外其他字母小写。静态字段与成员字段同等看待。一个单词为缩写时,如果这个单词是字段名的最后一个单词,则可以全部用大写,否则首字母大写其他字母小写。参照[例1]。
2.常量所有的单词都首字母大写,其余字母小写。如果常量很多,可以使用在名称前加前缀'Const_'。公有常量和私有常量的定义规则一致。建议为了区分常量和字段,所有的常量都加前缀。参照[例1]。
方法&形参的命名
---------------
3.私有方法第一个单词的首字母小写其余字母小写,其他单词的首字母大写其余字母小写;公有方法所有单词的首字母大写其余字母小写。方法名的命名规则不区分方法是静态的还是实例的。参照[例1]。
4.形参的定义以小写字母 'p'或’o’开头,后续的单词首字母大写,其余字母小写。其中,非out形式的形参以字母’p’开头,而out形式的参数以’o’开头。参照[例1]。
属性的命名
----------
5.属性名的所有单词都是首字母大写,其他字母小写。属性名尽量与对应的私有成员字段一致,它们之间的差异应该仅仅是属性名没有’_’且第一个单词的首字母为大写。禁止定义私有属性,允许定义受保护的属性。参照[例1]。
Region的使用
------------
6.命名空间的引用、私有成员字段、静态字段、常量、构造器方法、属性、私有方法、公有方法、公有静态方法。私有静态方法都使用region分割开来。参照[例1]。
注释
----
7.类、属性、方法必须要有Xml格式的注释。特别是方法中,必须在注释中介绍方法的作用、参数的意义以及返回值的意义[强制性的]。当方法中逻辑复杂时请在代码中用注释简单说明一下。成员字段(包括私有的和公有的)以及常量尽可能的写下注释但不做强制要求。参照[例1]。
类的命名
--------
8.类名由 前缀+英文描述+后缀组成。现阶段已明确定义的前缀与后缀如表1所见。
[表1]
|
附加 |
前缀/后缀 |
描述 |
|
frm |
前缀 |
表示UI类。例如WinForm以及WebForm类。注意:WebForm中的default,index等Web页面可以不遵照此规则。 |
|
I |
前缀 |
表示此类为interface或者abstract类。 |
|
Dao |
后缀 |
表示此类为数据访问类(Data Access Object)。 |
|
Srv |
后缀 |
表示此类为服务类(Bussiness Logic)。 |
|
Qry |
后缀 |
表示此类为查询结果实体类。 |
|
Cnd |
后缀 |
表示此类为查询条件实体类。 |
|
List |
后缀 |
表示此类为集合类。默认此类实现IList接口。 |
|
QryList |
后缀 |
表示此类为查询结果集合类。默认此类实现IList接口。 |
|
Coll |
后缀 |
表示此类为集合类。默认此类实现ICollection接口。 |
|
QryColl |
后缀 |
表示此类为查询结果集合类。默认此类实现ICollection接口。 |
|
Test |
前缀 |
表示此类为单元测试类。 |
Service层代码实现规范
-------------------------------
9.实现Service层时,请参照以下规范:
1.在Service层尽量避免执行catch动作。如果因为避免资源泄露而必须执行catch动作(例如执行数
据库事务时),则执行完资源释放动作后,转抛Exception。如下所示。
//其他代码
try
{
//执行业务逻辑
}
catch
{
//释放资源
throw; //转抛Exception。
}

2.在Service层里的类的公有方法的返回值(准确的说是引用类型的返回值,值类型的不存在此问题)
避免返回null的情况。应该返回一个empty的实例。如下所示。
public ArrayList GetAll(bool pReally)
{
//declare
ArrayList list;
//
if(!pReally)
{
list=new ArrayList(); //new 一个空的实例
return list;
}
else
{
//其他
}
}

3.在Service层里的类中,当需要向外抛出自定义的异常且此异常信息需要显示给客户看时,都使
用AtaException(它直接继承自System.Exception类)或者它的子类。而不要用使用微软所定义的
ApplicationException。
4.在Service层的所有类的所有公有方法中,都应该能处理传入的引用类型参数为null或empty的情
况。不会因为此2种情况而导致发生异常。
[例1]
using
/// <summary>
/// 类的简单说明
/// </summary>
public class Test
{
private variables/private fields …
Public string _TestInfo=string.Empty; //×禁止定义公有全局变量
private static variables/private class members…
consts
constructor
properties
private functions/private methods
public functions/public methods
public static functions/public class methods
}


浙公网安备 33010602011771号