Standardではない邪道なC++ライブラリの開発日誌
識別子の命名規約を深く考え出すときりがありません。Dradnats C++ Libraryでは、可能な限りSTLの方式にならって識別子を命名することにします。ただし、既存の関数、例えば標準Cライブラリのgetsを代替する関数を定義するのであれば、それはgetsまたはそれに近い名前にするのが妥当ですので、そうした事情がある場合は必ずしも原則には従わないことにします。

識別子に使用する単語は英語を基本とします。Visual Studioでは日本語識別子が使えるので、一度使い出すとかなり便利なのですが、現時点では移植性の問題があるため採用しません。

マクロ名に関しては、原則としてすべて大文字とし、単語の区切りは下線とします。ただし、これも特殊な事情がある場合は例外を認めます。具体的には、C++0Xで導入されるstatic_assertをとりあえずマクロとして用意する場合などです。

インクルードガードに使用するマクロは、DRADNATS_ファイル名_を基本とします(末尾に下線を付けます)。ファイル名はすべて大文字に置換し、ピリオド等の記号は下線に置換します。

クラスのデータメンバに関しては、publicなものを除き、末尾に下線を付けます。クラス有効範囲で定義された型名とメンバ関数についてはこの限りではありません。

テンプレート仮引数は、Dradnats_で始まり、以下単語の頭文字を大文字、他の文字を小文字として続けます。単語の区切りに下線は使用しません。例えば、Dradnats_RandomAccessIteratorのようになります。

関数の仮引数、インライン関数または関数テンプレート内の有効範囲で定義された識別子、およびprivateなメンバに関しては、dradnats_で始める予約識別子を使用します。ただし、仮想関数やコピーコンストラクタなど、特殊な事情がある場合は除きます。

とりあえず現時点ではこれぐらいにしておきます。



C++ Coding Standards―101のルール、ガイドライン、ベストプラクティス (C++ in‐depth series)
画像 著者:ハーブ サッター
価格:¥ 2,940

『さすがのでき』

アレクセイ・アレクサンドレスクも著者の一人であるため、非常に難解である。ただし、その難解さを乗り越え理解する価値は十分にある。C++のコーディング&開発ルールのプラクティスとしてほぼ完璧に精査されており、すばらしい。ただ、なぜそのプラクティスが必要かとう問いに、完全には答えていないのが残念。アレクセイなので、そこまで求めるのは贅沢かもしれない。
この記事にコメントする
お名前
タイトル
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
スポンサーサイト
ブログ内検索
カレンダー
06 2010/07 08
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
最新CM
[03/26 たかぎ]
最新TB