会员: 密码:  免费注册 | 忘记密码 | 会员登录 网页功能: 加入收藏 设为首页 网站搜索  
技术文档 > C#.Net
C#程序编码规范
发表日期:2003-05-28 00:00:00作者:w 出处:  


1.       目的

为了保证企业编写出的程序都符合相同的规范,保证一致性、统一性而建立的程序编码规范。

2.       范围

适用于企业所有基于.NET平台的软件开发工作。

3.       规范内容

3.1.    代码格式

u       所有的缩进为4个空格,使用VS.NET的默认设置。

       

u       在代码中垂直对齐左括号和右括号。

if(x==0)

              {

                   Response.Write("用户编号必须输入!");

              }

           不允许以下情况:

if(x==0) {

             

                   Response.Write("用户编号必须输入!");

              }

或者:

if(x==0){ Response.Write("用户编号必须输入!");}

 

u       为了防止在阅读代码时不得不滚动源代码编辑器,每行代码或注释在1024*800的显示频率下不得超过一显示屏

u       当一行被分为几行时,通过将串联运算符放在每一行的末尾而不是开头,清楚地表示没有后面的行是不完整的。

u       每一行上放置的语句避免超过一条。

u       在大多数运算符之前和之后使用空格,这样做时不会改变代码的意图却可以使代码容易阅读。

例:

        int j = i + k;

而不应写为

    int j=i+k;

u       将大的复杂代码节分为较小的、易于理解的模块。

u       编写 SQL 语句时,对于关键字使用全部大写,对于数据库元素(如表、列和视图)使用大小写混合。

u       将每个主要的 SQL 子句放在不同的行上,这样更容易阅读和编辑语句,例如: SELECT FirstName, LastName

                             FROM Customers

                  WHERE State = 'WA'

 

 

3.2.    注释(Comment)规范

注释规范包括:模块(类)注释规范、类的属性、方法注释规范、代码间注释

3.2.1. 模块(类)注释规范

模块开始必须以以下形式书写模块注释:

///

         ///模块编号:<模块编号,可以引用系统设计中的模块编号>

         ///作用:<对此类的描述,可以引用系统设计中的描述>

         ///作者:作者中文名

         ///编写日期:<模块创建日期,格式:YYYY-MM-DD>

         ///

如果模块有修改,则每次修改必须添加以下注释:

         ///

         ///Log编号:编号,1开始一次增加>

         ///修改描述:<对此修改的描述>

         ///作者:修改者中文名

         ///修改日期:<模块修改日期,格式:YYYY-MM-DD>

         ///

 

3.2.2. 类属性注释规范

在类的属性必须以以下格式编写属性注释:

         ///

         ///属性说明

///

3.2.3. 方法注释规范

在类的方法声明前必须以以下格式编写注释

         ///

         /// 说明:<对该方法的说明>

         ///

          /// <参数说明>

         ///

         ///<对方法返回值的说明,该说明必须明确说明返回的值代表什么含义>

         ///

 

3.2.4. 代码间注释规范

代码间注释分为单行注释和多行注释:

         单行注释:

//<单行注释>

         多行注释:

         /*多行注释1

          多行注释2

          多行注释3*/

代码中遇到语句块时必须添加注释(if,for,foreach,……,添加的注释必须能够说明此语句块的作用和实现手段(所用算法等等)。

 

 

3.3.    变量(Variable)命名规范

3.3.1. 程序文件(*.cs)中的变量命名规则

      

       程序中变量名称 = 变量的前缀 +代表变量含意的英文单词或单词缩写。

 

1.  类模块级的变量请用“m_”作前缀

public class hello

{

         private string m_Name;

         private DateTime m_Date;

 

}

2.  类的属性所对应的变量,采用属性名前加“m_”前缀的形式

public class hello

{

     private string m_Name;

     public string Name

     {

         get

{

      return m_Name;

}

}

}

3.  过程级的变量不使用前缀

public class hello

{

         void say()

         {

                string SayWord;

}

}

4.  过程的参数使用“p_”作为参数

        public class hello

        {

               void say(string p_SayWord)

               {

               }

        }

 

补充说明:

        针对异常捕获过程中的Exception变量命名,在没有冲突的情况下,统一命名为e

如果有冲突的情况下,可以重复e,比如:ee

Try

{

         //your code

         try

{

//code

}

catch(Exception ee)

{

//your code

}

}

catch(Exception e)

{

         //your code

}

补充:如果捕获异常不需要作任何处理,则不需要定义Exception实例

例:

try

{

         //your code

}

catch( Exception )

{

}

 

5.  鉴于大多数名称都是通过连接若干单词构造的,请使用大小写混合的格式以简化它们的阅读。每个单词的第一个字母都是大写.

6.  即使对于可能仅出现在几个代码行中的生存期很短的变量,仍然使用有意义的名称。仅对于短循环索引使用单字母变量名,如 i j

7.  在变量名中使用互补对,如 min/maxbegin/end open/close

8.  不要使用原义数字或原义字符串,如 For i = 1 To 7。而是使用命名常数,如 For i = 1 To NUM_DAYS_IN_WEEK 以便于维护和理解。

3.3.2. 控件命名规则

 

控件命名=Web控件缩写前缀  + _ +变量名

返回顶部】 【打印本页】 【关闭窗口

关于我们 / 给我留言 / 版权举报 / 意见建议 / 网站编程QQ群   
Copyright ©2003- 2024 Lihuasoft.net webmaster(at)lihuasoft.net 加载时间 0.00406