2012-07-02 20 views
6

C++では、Resource Acquisition is Initialization(RAII)パターンを使用する場合、クラスの命名規則はありますか?私の場合はRAIIクラスの一般的な命名規則は何ですか?

は、私は物事の次の種類を行うクラスを持っていると私は、スタック上にこれらのいずれかを見たときに、初めてリーダーに有益な意味を起動する可能性がある名前たい:

  • ロギングを抑制するクラス(ネストすることができます)。
  • オブザーバーを配置するクラス。
  • 現在のスレッドで処理されている現在のオブジェクトを記録するクラス。
  • (前の行の)基本クラスの動作に加えてオブジェクトを処理する派生クラス。

最初のカットとして、私は(上記に順番に対応して)これらのような名前を使用し、それらを改善したいと考えています

  • クラスSuppressLogger
  • クラスScopedObserver
  • クラスWithCurrentObject
  • クラスWithObjectProcessed:public WithCurrentObject
+0

これらの名前に間違いはありません。最後の2つ(LogWithCurrentObjectなど)に 'Log'を追加するかもしれませんが、コードによっては必要ではないかもしれません。 –

答えて

9

RAIIはすべての言語で使用する必要があります。デフォルトにする必要があるため、従う命名規則はありません。

+7

真ですが、RAIIを実装するクラスと、* focus *がRAIIのクラス(コンストラクタやデストラクタ以外のメソッドを持たない限り)との間には違いがあります。私はウィリアムが後者について尋ねていると仮定します。 – dan04

+0

@ dan04あなたは正しいですか? – WilliamKF

関連する問題