在以前版本的Visual Studio中,微软曾建议使用匈牙利命名法来写代码,并鼓励开发这位写出统一格式的代码而使用相同的法则。在最近发布的.NET和它的编程语言中,微软更换了他的这一法则。如果你用过Delphi编程,你会看到新的法则与Delphi(Pascal)有些相似。
从我学习编程以来Visual Studio是6.0,之后有2003版和2005版,到现在有2008版了; .NET framwork类库也从以前的1.1、2.0、3.0到现在的3.5,我学C++之时用的是Visual Studio 6.0,那时老师还介绍使用匈牙利命名法,不过之后到.NET平台下微软不建议用匈牙利命名法了,这可以从微软根据其所推出产品的示例和.NET framwork类库参考看到,在C#中,以帕斯卡命名法和骆驼命名法居多。我个人习惯骆驼命名法,事实上在.NET framwork类库参考中使用的就是帕斯卡命名法和骆驼命名法。
以下就是 帕斯卡命名法和骆驼命名法的具体使用。
编程规范 |
|||
类型 |
命外规则 |
说明 |
|
命名空间 namespace |
Pascal |
以.分隔,其中每一个限定词均为Pascal命名方式 如ExcelQuicker.Work |
|
类 class |
Pascal |
每一个逻辑断点首字母大写 如public class MyHome |
|
接口 interface |
IPascal |
每一个逻辑断点首字母大写,总是以I前缀开始,后接Pascal命名 如public interface IBankAccount |
|
方法 method |
Pascal |
每一个逻辑断点首字母大写 如private void SetMember(string) |
|
枚举类型enum |
Pascal |
每一个逻辑断点首字母大写 |
|
委托 delegate |
Pascal |
每一个逻辑断点首字母大写 |
|
局部变量 方法的参数 |
Camel |
首字母小写,之后Pascal命名 如string myName |
|
具体应用的一般良好习惯 |
|||
1、 |
成员变量前加前缀 _ |
||
2、 |
接口的名称加前缀I |
||
3、 |
自定义的属性以Attribute结尾,如: public class AuthorAttribute :Attribute { } |
||
4、 |
自定义的异常以Exception结尾,如: public class AppException: Exception { } |
||
5、 |
方法的命名。一般将其命名为动宾短语,如: ShowDialog() CreateFile() |
||
6、 |
代码的缩进。要用Tab,而不要用space. |
||
7、 |
局部变量的名称要有意义。不要用x,y,z等等(除用于For循环变量中可使用i,j,k,l,m,n)。 |
||
8、 |
所有的成员变量声明在类的顶端,用一个换行把它和方法分开。 |
||
9、 |
用有意义的名字命名namespace,如:产品名、公司名。 |
||
10、 |
生成和构建一个长的字符串时,一定要使用StringBuilder,而不用string。 |
||
11、 |
始终使用”{ }”包含if下的语句,即使只有一条语句。 |
||
12、 |
把相似的内容放在一起,比如数据成员、属性、方法、事件等,并适当的使用#region…#endregion |