成功的开发团队要求队伍中的每一位成员遵守代码重用规则,这些规定把代码的重用性推到极至同时却不会显著降低开发人员的创造力和开发效率。如果编写和使用代码的开发人员遵守共同的程序命名规范代码和代码注释要求,那么代码的重用性就会得以大大提升。这些标准的起点是系统结构级的。你的功能规范应该在类、属性的名字、函数返回值以及其他关键程序元素的定义中反映这些标准。本文将就基本的命名规则和注释提出一些可行的建议,意图帮助读者开发自己的代码重用标准。
大小写标准
在我们开始讨论各类程序要素命名的正确方式之前,先让我们定义区分元素的字符大小写的两种最常用方式,它们是:
Pascal规范—第1个字符大写,目标名中的每个单词的第1个字母也大写,比如InvoiceNumber或者PrintInvoice。其他的所有字符都小写。
Camel规范—第1个字符不大写,但目标名中的每个单词的第1个字母大写,比如,invoiceNumber。其他的所有字符都小写。
可是,采用字符大小写区分元素可能在对大小写不敏感的编程语言中引发问题。比方说,由于C#语言区分大小写,所以你可以调用私有变量employee,接着它所具有的公共属性Employee则可以被调用者所用。这些操作是完全合法的。但是,对Visual Basic来说就会产生错误,因为VB是不区分字母大小写的,以上两种元素在VB看来都是一回事。假如你在混合语言环境下工作,你只能指定某些规则要求开发人员合理利用多种语言阅读其他人开发的代码。
命名标准
假设我们采用了以上的大小写标准,现在就让我们了解一些通用程序元素的简单命名建议。
类
某些类设计为模拟真实世界的对象,就这些类来说,所选用的名字就应该反映真实世界的对象、具有单数名词的格式,比方Employee、 Invoice或者Timecard等。对内部类而言可以采用Pascal规范令结果类具有单数形式的名字,比如ThreadPool或者CustomColor等。 Employees 配列などの複数形で同じ型のコレクション名を表現できるように、クラスは単数形である必要があります。
类的成员
采用C#以及其他大小写敏感编程语言的开发人员应当采用camel规范命名类成员的名字。そうすることで、開発者は内部変数の名前とパブリック プロパティの名前を区別しやすくなります。多くの VB 開発者は、クラス メンバーに名前を付けるためにハンガリー語の命名法を使用することを好みます。つまり、名前の前に接頭辞を追加して変数の型を示します。たとえば、sName は文字列型の Name 変数を指します。 VS.NET などの高度な開発環境では、変数の上にマウスを置くとシステムの変数の型が自動的に表示されるため、これを行う必要はないと思います。我个人喜欢在类成员名前加上前缀:小写的字母m。这样内部变量就保存了足够的内部类信息:内部变量mName就正好代表了公共属性Name。
方法
方法应该用Pascal规范命名,同时用合理的方式说明他们的实施行为。比方说,给数据库添加雇员的方法可以命名为AddEmployee,而打印发票的方法则不妨命名为PrintInvoice。假如方法返回的是布尔值,那么方法名应该以动词开头以便用在if语句的时候其含义更明显。比如说,假如你有一个方法的功能是确定某位雇员是否符合公司401k计划的要求,那么你可以在If语句中调用IsEligible401k方法:If IsEligible401k then…
方法参数、返回值和变量
所有的方法参数、返回值和变量都应该采用Pascal规范命名,同方法名一样也应该能反映参数或者变量所代表的含义。 IntelliSenseはメソッドを呼び出すときにパラメーター名とパラメータータイプを返すため、これはパラメーターメソッドにとって特に重要です。所有采用方法的开发人员都应该使用描述性的名字和类型,便于相互理解其含义。
控件
控件命名是开发领域一个经常引发争议的问题。虽然大多数人赞同不应该使用控件的默认名称,比如TextBox1或者Label1等等,但是,他们还反对按照变量的方式命名控件或者采用前缀表示控件的类型。私は、フォーム上のコントロールに名前を付けるには、標準の 3 文字の接頭辞を使用することを好みます。比如说,保存姓氏和名字的文本框控件就不妨分别命名为txtLastName和txtFirstName。处理窗体数据的命令按钮则可以命名为cmdSubmit或者cmdCancel。実際、コントロールの命名が一貫しており、標準が理解しやすいことを確認できる限り。
コメント
コメントコードは、すべての開発者に必要です。適切なアノテーション技術を教えるために、私はデモ プログラムにアノテーション付きコードを追加することがよくあります。また、注釈のプロセスを簡素化するために、開発者は最初に、作成したいプログラムを説明するコメントを書くことをお勧めします。まず、プログラム内のプロシージャ、クラス、またはその他のプログラム要素を説明するコメントを書きますが、それらがどのように機能するかについては説明しません。次に、プロセスの主要なステップやクラスの要素を説明する一連のコメント付きコードを作成します。クラスを定義したり、プロセスを説明したりするコードを記述した後、各外部変数、コントロール、開いているファイル、さらには他のプロセスによってアクセスされる要素を文書化し、入力パラメーターと戻り値を簡単に説明します。
C# を使用してプログラムを開発している場合、VS.NET 環境には、内部 C# コメントを外部 HTML ドキュメントに変換するのに役立つ組み込みツールがすでに組み込まれています。独自のドキュメントに特別な処理ディレクティブを追加して、外部ドキュメントの表現方法を変更できます。詳細については、VS.NET 内部ヘルプ ファイル ms-help://MS.VSCC/MS.MSDNVS/csref/html/vcoriXMLDocumentation.htm を参照してください。