Standardではない邪道なC++ライブラリの開発日誌
識別子の命名規約を深く考え出すときりがありません。Dradnats C++ Libraryでは、可能な限りSTLの方式にならって識別子を命名することにします。ただし、既存の関数、例えば標準Cライブラリのgetsを代替する関数を定義するのであれば、それはgetsまたはそれに近い名前にするのが妥当ですので、そうした事情がある場合は必ずしも原則には従わないことにします。
識別子に使用する単語は英語を基本とします。Visual Studioでは日本語識別子が使えるので、一度使い出すとかなり便利なのですが、現時点では移植性の問題があるため採用しません。
マクロ名に関しては、原則としてすべて大文字とし、単語の区切りは下線とします。ただし、これも特殊な事情がある場合は例外を認めます。具体的には、C++0Xで導入されるstatic_assertをとりあえずマクロとして用意する場合などです。
インクルードガードに使用するマクロは、DRADNATS_ファイル名_を基本とします(末尾に下線を付けます)。ファイル名はすべて大文字に置換し、ピリオド等の記号は下線に置換します。
クラスのデータメンバに関しては、publicなものを除き、末尾に下線を付けます。クラス有効範囲で定義された型名とメンバ関数についてはこの限りではありません。
テンプレート仮引数は、Dradnats_で始まり、以下単語の頭文字を大文字、他の文字を小文字として続けます。単語の区切りに下線は使用しません。例えば、Dradnats_RandomAccessIteratorのようになります。
関数の仮引数、インライン関数または関数テンプレート内の有効範囲で定義された識別子、およびprivateなメンバに関しては、dradnats_で始める予約識別子を使用します。ただし、仮想関数やコピーコンストラクタなど、特殊な事情がある場合は除きます。
とりあえず現時点ではこれぐらいにしておきます。
マクロ名に関しては、原則としてすべて大文字とし、単語の区切りは下線とします。ただし、これも特殊な事情がある場合は例外を認めます。具体的には、C++0Xで導入されるstatic_assertをとりあえずマクロとして用意する場合などです。
インクルードガードに使用するマクロは、DRADNATS_ファイル名_を基本とします(末尾に下線を付けます)。ファイル名はすべて大文字に置換し、ピリオド等の記号は下線に置換します。
クラスのデータメンバに関しては、publicなものを除き、末尾に下線を付けます。クラス有効範囲で定義された型名とメンバ関数についてはこの限りではありません。
テンプレート仮引数は、Dradnats_で始まり、以下単語の頭文字を大文字、他の文字を小文字として続けます。単語の区切りに下線は使用しません。例えば、Dradnats_RandomAccessIteratorのようになります。
関数の仮引数、インライン関数または関数テンプレート内の有効範囲で定義された識別子、およびprivateなメンバに関しては、dradnats_で始める予約識別子を使用します。ただし、仮想関数やコピーコンストラクタなど、特殊な事情がある場合は除きます。
とりあえず現時点ではこれぐらいにしておきます。
この記事にコメントする