C#程序编码规范

原创 2004年08月15日 23:55:00

C#程序编码规范<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1.目的

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

2.范围

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

3.规范内容

3.1.代码格式

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

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

if(x==0)

{

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

}

        不允许以下情况:

if(x==0) {

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

        }

或者:

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

 

3.为了防止在阅读代码时不得不滚动源代码编辑器,每行代码或注释在1024*800的显示频率下不得超过一显示屏,当一行被分为几行时,通过将串联运算符放在每一行的末尾而不是开头,清楚地表示没有后面的行是不完整的。

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

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

例:

int j = i + k;

而不应写为

int j=i+k;

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

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

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

                  FROM Customers

               WHERE State = 'WA'

 

    3.2.注释(Comment)规范

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

 

3.2.1.模块(类)注释规范

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

///<summary>

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

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

///作者:作者中文名

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

///</summary>

 

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

        ///<summary>

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

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

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

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

///</summary>

 

3.2.2. 类属性注释规范

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

/// <summary>

///属性说明

/// </summary>

 

3.2.3. 方法注释规范

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

/// <summary>

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

/// </summary>

/// <param name="<参数名称>"><参数说明></param>

/// <returns>

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

/// </returns>

 

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/max、begin/end 和 open/close。

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

 

3.3.2.控件命名规则

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

控件

缩写

Label  lbl

TextBox  txt

                CheckBox  chk

                Button    cmd

                ListBox  lst

                DropDownList  drp

                等等

 

3.4.常量命名规范

常量名也应当有一定的意义,格式为 NOUN 或 NOUN_VERB。常量名均为大写,字之间用下划线分隔。

例:

        private const bool WEB_ENABLEPAGECACHE_DEFAULT = true;

        private const int WEB_PAGECACHEEXPIRESINSECONDS_DEFAULT = 3600;

        private const bool WEB_ENABLESSL_DEFAULT = false;

 

注:

变量名和常量名最多可以包含 255 个字符,但是,超过 25 到 30 个字符的名称比较笨拙。此外,要想取一个有实际意义的名称,清楚地表达变量或常量的用途,25 或 30 个字符应当足够了。

 

3.5.类(Class)命名规范

1.名字应该能够标识事物的特性。

2.名字尽量不使用缩写,除非它是众所周知的。

3.名字可以有两个或三个单词组成,但通常不应多于三个。

4.在名字中,所有单词第一个字母大写。

        例如 IsSuperUser,包含ID的,ID全部大写,如CustomerID。

5.使用名词或名词短语命名类。

6.少用缩写。

7.不要使用下划线字符 (_)。

例:

public class FileStream

public class Button

public class String

 

3.6.接口(Interface)命名规范

        和类命名规范相同,唯一区别是  接口在名字前加上“I”前缀

    例:

interface IDBCommand;

interface IButton;

3.7.方法(Method)命名规范

和类命名规范相同。

3.8.命名空间(NameSpace)命名规范

和类命名规范相同。

c语言编程规范和范例及写给自己的C++编程规范

c语言编程规范和范例 1 排版 1    1-1:程序块要采用缩进风格编写,缩进的空格数为4个。 说明:对于由开发工具自动生成的代码可以有不一致。 1    1-2:相对独立的程序块之间、变量说明之...
  • benpaobagzb
  • benpaobagzb
  • 2016年02月29日 21:46
  • 1879

11条最全面的C/C++编码规范总结

对于不同的编程语言来说,具体的编码规范可以有很大的不同,但是其宗旨都是一致的,就是保证代码在高质量完成需求的同时具备良好的可读性、可维护性。例如我们可以规定某个项目的C语言程序要遵循这样的规定:变量的...
  • zang141588761
  • zang141588761
  • 2016年01月29日 18:11
  • 6231

嵌入式C语言编程规范(个人规约)

0规范制定说明 0.1箴言 技术人员设计程序的首要目的是用于技术人员沟通和交流,其次才是用于控制CPU的。程序的生命力在于用户使用,程序的成长在于后期的维护及根据用户需求更新和升级功能。如果你的程序只...
  • zhanglianpin
  • zhanglianpin
  • 2015年06月18日 09:51
  • 5332

【精品教程】最全面的C#程序编码规范.rar

  • 2014年11月24日 12:44
  • 21KB
  • 下载

C#程序编码规范完整精编版

  • 2011年10月24日 16:57
  • 141KB
  • 下载

C#程序代码编码规范

  • 2009年04月28日 17:56
  • 91KB
  • 下载

中英文手机短信 PDU 串 编码(UCS2) 解码(UCS2,7-Bit) 程序 ( in C# )

// 中英文手机短信 PDU 串 编码(UCS2) 解码(UCS2,7-Bit) 程序 ( in C# ) //================================...
  • hejianhua
  • hejianhua
  • 2011年03月20日 11:04
  • 7131

C#二维码编码WEB应用程序

  • 2013年07月24日 01:01
  • 1.04MB
  • 下载

c#版字符集编码检测程序ude-1.0的vs2010版本,win7编译通过

  • 2014年05月08日 22:52
  • 1.19MB
  • 下载

C#下DES加解密CBC模式下Base64编码完整程序

  • 2016年08月18日 14:25
  • 3KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#程序编码规范
举报原因:
原因补充:

(最多只允许输入30个字)