C#编程规则

 

一、        用法约定

命名约定

在。NET Frameword 中,一般规则是变量名要反映变量实例的功能,而不是反映数据类型。例如,Height就是一个比较好的变量名,而IntegerValue就不太好。但是,这种规则是一种理想状态,很难达到。在处理控件时,大多数情况下使用ConfirmationDialog ChooseEmployeeListBox等变量名比较好,这些变量名说明了变量的数据类型。

名称的约定包括以下几个方面:

(1)      名称的大小写

在许多情况下,名称都应使用Pascal大小写命名形式。Pascal大小写形式是指名称中单词的第一个字母大写,如EmployeeSalaryConfirmationDialogPlainTextEncoding。注意,命名空间、类、以及基类中的成员等的名称都应遵循该规则。另外还有一种大小写模式:camel大小写形式。这种形式类似于Pascal大小写形式,但名称中第一个单词的第一个字母不是大写:employeeSallyconfirmationDialogplainTextEncoding。有三种情况可以使用camel大小写形式。

类型中所有私有成员字段的名称都应是camel大小写形式。

Public int subscriberId;

传递给方法的所有参数都应是camel大小写形式:

Public void RecordSale (string salesmanName, int quantity);

Camel大小写形式也可以用于区分同名的两个对象——比较常见的情况是属性封装一个字段:

private string employeeName;

public string EmployeeName

{

   get

      {

         return employeeName;

}

}

(2)      名称的风格

名称的风格应该保持一致。例如,如果类中的一个方法叫ShowConfirmatioDialog(),另一个就不能叫ShowDialogWarning()WarningDialogShow,而是ShowWarningDialog()

(3)      命名空间的名称

Microsoft建议使用如下的命名空间:

<CompanyName>.<TechonlogyName>,例如:

WeaponsOfDestructionCorp.RayGunControllers

WeaponsOfDestructionCorp.Viruses

(4)       名称和关键字

名称不应与任何关键字冲突。

二、        属性和方法的使用

(1)       客户机代码应能读取它的值,最好不要使用只写属性,例如,应使用SetPassword()方法,而不是Password只写属性。

(2)       读取该值不应有任何不希望的负面效应。设置属性的值,不应有与该属性不直接相关的负面效应。

(3)       应可以用任何顺序设置属性。在设置属性的值时,最好不要因为还没有设置另一个相关的属性而抛出一个异常。

(4)       顺序读取属性也应有相同的效果。如果属性的值可能会出现预料不到的改变,就应该把它编写为一个方法。在监视汽车运动的类中,把speed编写为属性就不是一种好方法,而应使用GetSpeed(),另一方面,应把WeightEngineSize编写为属性。

 

posted on 2008-08-03 22:39  海鲜很鲜  阅读(175)  评论(0)    收藏  举报