命名规范
1.利用Pascal的方式定义类型、方法名和常量
public class SomeClass
{
const int DefaultSize = 10;
public SomeMethod()
{}
}
2.对于局部变量和方法的参数使用Camel命名法
int number;
void MyMethod(int someNumber)
{}
3.接口的名称前加上I
interface IMyInterface
{…}
4.在私有成员变量前面加上m_。对于m_后面的变量名使用Camel命名法
public class SomeClass
{
private int m_Number;
}
5.对自定义的属性类加上Attribute
6.对自定义的异常类加上后缀Exception
7.方法的命名使用动词---对象对,例如ShowDialog()
8.有返回值的方法的命名中要有对返回值的描述,例如GetObjectState()
9.使用带有说明性的变量名
a)避免单字符的变量名,例如i或t等。使用类似于index或temp这样有意义的名字。
b)对于public或protected类型的变量避免使用匈牙利表示法。
c)不要所需单词(例如用num取代number)
10.总是使用C#预定义的类型而不要使用在System名称空间中的别名,例如:
使用objec而不是Object
使用string而不是String
使用int而不是Int32
11.在使用泛型的时候,类型的首字母要大写。当处理.NET中的Type类型的时候.保留Type后缀。(C#2.0新特性)
//正确
public class LinkedList<K,T>
{…}
// 避免
public class LinkedList<KeyType,DataType>
{…}
12.使用有意义的名字定义名称空间。例如产品名或者公司名。
13.避免通过全限定方式使用类型名称,使用using关键字。
14.避免在一个名称空间中使用using关键字。
15.把所有系统框架提供的名称空间组织到一起,把第三方提供的名称空间放到系统名称空间的下面
using System;
using System.Collection.Generic;
using MyCompany;
using MyControls;
16.使用代理推导而不要显式的实例化一个代理。(C# 2.0)
delegate void SomeDelegate()
public void SomeDelegate()
{…}
SomeDelegate someDelegate = SomeMethod;
17.维护严格的代码缩进。不是使用tabs或非标准的缩进,例如一个空格。推荐的缩进是3到4个空格。
18.在和你的代码缩进处于同一个级别处为该行代码添加注释。
19.所有的注释都应该通过拼写检查。注释中错误的拼写意味着开发进度的延缓。
20.所有的类成员变量应该被声明在类的顶部,并用一个空行把它们和方法以及属性的声明区分开
public class MyClass
{
int m_Number;
string m_Name;
public void SomeMethod();
public void SomeMethod2();
}
21.在最靠近一个局部变量被使用的地方声明该局部变量。
22.一个文件名应该能反映它所对应的类名。
23.当使用一个部分类并把该类分布到不同的文件中时,在每一个文件名末尾都加上该文件实现的部分在类整体中扮演的作用。例如:
//in MyClass.cs
Public partial class MyClass
{…}
//in MyClass.Designer.cs
Public partial calss MyClass
{…}
24.总是要把花括号“{”放在新的一行.