C#编程规则
一、 用法约定
命名约定
在。NET Frameword 中,一般规则是变量名要反映变量实例的功能,而不是反映数据类型。例如,Height就是一个比较好的变量名,而IntegerValue就不太好。但是,这种规则是一种理想状态,很难达到。在处理控件时,大多数情况下使用ConfirmationDialog 和 ChooseEmployeeListBox等变量名比较好,这些变量名说明了变量的数据类型。
名称的约定包括以下几个方面:
(1) 名称的大小写
在许多情况下,名称都应使用Pascal大小写命名形式。Pascal大小写形式是指名称中单词的第一个字母大写,如EmployeeSalary、ConfirmationDialog、PlainTextEncoding。注意,命名空间、类、以及基类中的成员等的名称都应遵循该规则。另外还有一种大小写模式:camel大小写形式。这种形式类似于Pascal大小写形式,但名称中第一个单词的第一个字母不是大写:employeeSally、confirmationDialog、plainTextEncoding。有三种情况可以使用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(),另一方面,应把Weight和EngineSize编写为属性。
浙公网安备 33010602011771号