2012-07-02 10 views
6

Gibt es in C++ bei der Verwendung des RAII-Schemas (Resource Acquisition is Initialization) allgemeine Konventionen für die Benennung der Klassen?Was ist eine allgemeine Namenskonvention für RAII-Klassen?

In meinem Fall habe ich Klassen, die folgende Arten von Dingen zu tun und ich würde Namen wie die einen nützlichen Sinn zu einem ersten Zeitpunkt Leser aufrufen wahrscheinlich sind, wenn einer von ihnen auf dem Stapel zu sehen:

  • Eine Klasse zum Unterdrücken der Protokollierung (die verschachtelt werden kann).
  • Eine Klasse, um einen Beobachter einzurichten.
  • Eine Klasse zum Aufzeichnen des aktuellen Objekts, das für den aktuellen Thread verarbeitet wird.
  • Eine abgeleitete Klasse zur Verarbeitung des Objekts zusätzlich zum Verhalten der Basisklasse (in der vorherigen Zeile).

Als erste Schnitt habe ich Namen wie diese (in entsprechenden, um oben), verwendet aber die Hoffnung auf, sie zu verbessern:

  • Klasse SuppressLogger
  • Klasse ScopedObserver
  • Klasse WithCurrentObject
  • Klasse WithObjectProcessed: public WithCurrentObject
+0

Ich sehe nichts falsch mit diesen Namen. Ich könnte "Log" den letzten beiden voranstellen (z. B. "LogWithCurrentObject"), aber abhängig vom Code ist das möglicherweise nicht notwendig. –

Antwort

9

RAII sollte in der gesamten Sprache verwendet werden. Da dies der Standardwert sein sollte, gibt es keine Namenskonvention.

+7

Wahr, aber es gibt einen Unterschied zwischen einer Klasse, die * passiert *, um RAII zu implementieren, und einer Klasse, deren * Fokus * RAII ist (in dem Ausmaß, dass es keine anderen Methoden als Konstruktor und Destruktor gibt). Ich nehme an, William fragt nach letzterem. – dan04

+0

@ dan04 Sie haben Recht. – WilliamKF

Verwandte Themen