C# 编程规范

简介:


一、命名

1.用pascal规则来命名方法和类型.

publicclass TextBox

{

     publicvoid DataBind() 

     {

     }

}

2.用camel规则来命名局部变量和方法的参数.

string userName;

public AddUser(string userId, byte[] password);

3.所有的成员变量前加前缀 _

publicclass Database

{

     privatestring _connectionString;

}

4.接口的名称加前缀 I.

interface ICompare

{

     int compare();

}

5.自定义的属性以Attribute结尾

publicclass AuthorAttribute : Attribute

{

}

6.自定义的异常以Exception结尾

publicclass AppException : Exception

{

}

7.方法的命名.一般将其命名为动宾短语.

ShowDialog()

CreateFile()

GetPath()

8.代码的缩进.要用Tab,而不要用space.

9.局部变量的名称要有意义.不要用x,y,z等等(除用于For循环变量中可使用i,j,k,l,m,n).

string userName

10.所有的成员变量声明在类的顶端,用一个换行把它和方法分开.

11.用有意义的名字命名namespace,如:产品名、公司名.

12.建议局部变量在最接近使用它时再声明.

13.使用某个控件的值时,尽量命名局部变量.

14.把引用的系统的namespace和自定义或第三方的用一个换行把它们分开.

15.文件名要能反应类的内容,最好是和类同名,一个文件中一个类或一组关连类.

16.目录结构中要反应出namespace的层次.

17.大括号"{"要新起一行.

publicclass AuthorAttribute : Attribute

{

}

二、编码习惯.

1.用C#预定义的类名,而不要用别名.

string userName;   而不是 System.String userName;

int number;            而不是 System.Int32;

2.一行不要超过80个字符.

3.尽量不要手工更改机器生成的代码,若必须更改,一定要改成和机器生成的代码风格一样.

4.关键的语句(包括声明关键的变量)必须要写注释.

5.文字常量和数字常量不要硬编码,应该用常量类或枚举代替.

6.不准使用goto系列语句.

7.不要声明public和protected的成员变量,应用property.

8.不要声明public的event,应用事件访问器.

publicclass Source

{

     private EventHandler m_NumberChangeEvent;

     publicevent EventHandler NumberChangeEvent

  {

         add

         {

              m_NumberChangeEvent += value;

         }

         remove

         {

              m_NumberChangeEvent -= value;

         }

     }

}

9.类型转换的使用规则.

Animal animal = new Dog();

Dog dog = animal as Dog;

if (dog != null)

{

}

10.生成和构建一个长的字符串时,一定要使用StringBuilder,而不用string.

11.始终使用"{ }"包含if下的语句,即使只有一条语句.

12.switch语句一定要有default来处理意外情况.

13.尽量少使用三目运算符 ? : ,而要使用if语句.

14.尽量不用使用this引用,除非是要调用类中的另一个Constructor.

publicclass Person

{

     public Person(string name)

     {

     }   

     public Person() : this("Jim")

     {

     }

}




本文转自钢钢博客园博客,原文链接:http://www.cnblogs.com/xugang/archive/2007/12/19/1005732.html,如需转载请自行联系原作者
相关文章
|
5月前
|
编译器 C#
【.NET Core】C#编程规范
【.NET Core】C#编程规范
154 0
|
设计模式 人工智能 缓存
【C#编程规范 一】编程规约(上)
【C#编程规范 一】编程规约(上)
270 0
|
IDE 安全 Java
【C#编程规范 序】编程规范简介
【C#编程规范 序】编程规范简介
166 0
|
存储 安全 .NET
|
算法 C# 数据安全/隐私保护
|
C#
C#编程规范
偶尔下载的。备忘一下!C#编程规范
650 0
对C#.NET编程规范的个人见解
我们应该知道编程规范对于项目的生命周期多么重要,如果每个程序员写的代码都令其他人难以阅读、或者一个团队项目的代码却五花八门,这样的项目将会是怎么样的噩梦。
805 0
|
8天前
|
C# 开发者
C# 一分钟浅谈:Code Contracts 与契约编程
【10月更文挑战第26天】本文介绍了 C# 中的 Code Contracts,这是一个强大的工具,用于通过契约编程增强代码的健壮性和可维护性。文章从基本概念入手,详细讲解了前置条件、后置条件和对象不变量的使用方法,并通过具体代码示例进行了说明。同时,文章还探讨了常见的问题和易错点,如忘记启用静态检查、过度依赖契约和性能影响,并提供了相应的解决建议。希望读者能通过本文更好地理解和应用 Code Contracts。
20 3
|
29天前
|
安全 C# 数据安全/隐私保护
实现C#编程文件夹加锁保护
【10月更文挑战第16天】本文介绍了两种用 C# 实现文件夹保护的方法:一是通过设置文件系统权限,阻止普通用户访问;二是使用加密技术,对文件夹中的文件进行加密,防止未授权访问。提供了示例代码和使用方法,适用于不同安全需求的场景。
下一篇
无影云桌面