在路上
分类: C#/.net
2015-08-15 20:06:16
命名规范是一个十分重要但有比较有争议的话题,本文主要谈一下我的体会并介绍一种较常用的C#命名规范。
匈牙利命名法
我最早接触到的命名规范是匈牙利命名法,该方法出自微软,基本上是一些在你的所有变量前建立一个前缀的规则。这个前缀会说明那个变量的类型。其好处在于,通过它们的前缀,你可以方便地知道两个变量是否兼容。这种方法非常流行,在目前的C和C++开发中还被广泛的使用。
匈牙利命名法的不足
匈牙利命名法的最大的不足的地方就是繁琐,随着计算机的速度越来越快,IDE已拥有足够的能力,可以开始实时探测变量的类型。因此,当你编程时,IDE能够向你警告类型不兼容的情况(通常普遍使用微软Word自动拼写检查中的红色弯曲下划线)。
匈牙利命名法过分强调类型,在泛型方法中就显得格格不入。另外,很多时候我们关心的只是这个变量所代表的意义而不是它的类型。像C++0x的auto关键字(虽然这个关键字在C++98中就存在,但没法用)和C#的var关键字也说明了这一点。在小函数或者Lambda表达式这种比较简单的流程的时候,过长的匈牙利变量显得也很不合适。
其实主要的还是程序员懒惰心理作怪,但正是这种懒惰推动了计算机行业的不断发展。就连微软也逐步减少了匈牙利命名法的使用,在其当家语言C#中主要使用的是帕斯卡命名法和骆驼命名法。下面就简单的介绍一下常用的C#命名规范。
C#编程命名规范
类class |
Pascal |
|
方法function |
Pascal |
|
接口interface |
Pascal |
总是以 I 前缀开始,后接Pascal命名 |
枚举类型enum |
Pascal |
|
委托delegate |
Pascal |
|
具体如下:
string userName;
public AddUser(string userId,byte[] password);
需要记住的一点是:编程规范的目的是帮助程序员写出简洁规范易读的程序,但也没必要过分被其所约束。