C#命名规范
- 格式:doc
- 大小:222.50 KB
- 文档页数:17
MyData 就是一个帕斯卡命名的示例
myData是一个骆驼命名法,它第一个单词的第一个字母小写,后面的单词首字母大写,看起来像一个骆驼
iMyData是一个匈牙利命名法,它的小写的i说明了它的型态,后面的和帕斯卡命名相同,指示了该变量的用途.
变量命名规范:
内联变量必须一骆驼camel命名法声明:
for example: uName,uPass;
类变量(成员变量) 同上,但一定要以一个下划线开始!
for example: _mySqlConn
常量命名规范:
带有私有访问修饰的常量必须以骆驼命名法声明,并以一个下划线开始,
for example: private int _SHOW_COUNT=20;
带有公有修饰符.受保护修饰符的常量必须以帕斯卡命名法声明,
for example: protected int COUNT=20;
数组必须以骆驼命名法声明for example: string[5] nameArray;
string[] nameArray=new string[5];
int[] userAge={20,30,21,22,25,24,22};
结构命名规范:
结构必须以帕斯卡命名法声明,用词或者短语作为声明的首选!
for example: public struct StructName{
part2.
C# Coding Standard
一、命名
1.用pascal规则来命名方法和类型.
public class TextBox
{
public void DataBind()
{
}
}
2.用camel规则来命名局部变量和方法的参数.
string userName;
public AddUser(string userId, byte[] password);
3.所有的成员变量前加前缀m_
public class Database
{
public string m_connectionString;
}
4.接口的名称加前缀I.
interface ICompare
{
int compare();
}
5.自定义的属性以Attribute结尾
public class AuthorAttribute : Attribute {
}
6.自定义的异常以Exception结尾
public class AppException : Exception {
}
7.方法的命名.一般将其命名为动宾短语. ShowDialog()
CreateFile()
GetPath()
8.代码的缩进.要用Tab,而不要用space.
9.局部变量的名称要有意义.不要用x,y,z等等.
string userName
10.所有的成员变量声明在类的顶端,用一个换行把它和方法分开.
11.用有意义的名字命名namespace,如:产品名、公司名.
12.建议局部变量在最接近使用它时再声明.
13.使用某个控件的值时,尽量命名局部变量.
14.把引用的系统的namespace和自定义或第三方的分开.
15.文件名要能反应类的内容,最好是和类同名,一个文件中一个类.
16.目录结构中要反应出namespace的层次.
17.大括号"{"要新起一行.
public class 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,应用事件访问器.
public class Source
{
private EventHandler m_NumberChangeEvent;
public event 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. public class Person
{
public Person(string name)
{
}
public Person() : this("Jim")
{
}
}。