2012-07-02 12 views
6

En C++, cuando se utiliza el patrón Adquisición de recursos es Inicialización (RAII), ¿hay alguna convención común para nombrar las clases?¿Qué es una convención de nomenclatura común para las clases de RAII?

En mi caso, tengo clases que hacen los siguientes tipos de cosas y me gustaría nombres que puedan invocar un significado útil para un primer lector del tiempo al ver uno de estos en la pila:

  • Una clase para suprimir el registro (que se puede anidar).
  • Una clase para poner en marcha un observador.
  • Clase para registrar el objeto actual que se está procesando para la secuencia actual.
  • Clase derivada para procesar el objeto además del comportamiento de la clase base (en la línea anterior).

Como un primer corte, he utilizado nombres como éstos (con el fin de ellos correspondientes), pero la esperanza de mejorar sobre ellos:

  • SuppressLogger clase
  • ScopedObserver clase WithCurrentObject
  • clase
  • clase WithObjectProcessed: WithCurrentObject pública
+0

No veo nada de malo en esos nombres. Podría anteponer 'Log' a los dos últimos (por ejemplo, 'LogWithCurrentObject'), pero dependiendo del código, puede que no sea necesario. –

Respuesta

9

RAII se debe utilizar en todo el idioma. Dado que debe ser el valor predeterminado, no hay una convención de nomenclatura a seguir.

+7

Es cierto, pero hay una diferencia entre una clase que * sucede * para implementar RAII, y una clase cuyo * focus * es RAII (hasta el punto de no tener ningún otro método que no sea un constructor y un destructor). Supongo que William está preguntando sobre esto último. – dan04

+0

@ dan04 Estás en lo cierto. – WilliamKF

Cuestiones relacionadas