/*******************************************************************************************

文件名   :.Net代码规范

版本号   :2.0

作者      :Jack.Chen

建立日期 :2006-12-22

*******************************************************************************************/

字段&常量的命名

---------------

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中的defaultindexWeb页面可以不遵照此规则。

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层的所有类的所有公有方法中,都应该能处理传入的引用类型参数为nullempty的情

        况。不会因为此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
  }


posted on 2006-11-30 10:00  东风31  阅读(1265)  评论(1)    收藏  举报