2012-07-02 7 views
6

In C++, quando si utilizza l'Acquisizione risorsa è il pattern di inizializzazione (RAII), esistono convenzioni comuni per denominare le classi?Che cos'è una convenzione di denominazione comune per le classi RAII?

Nel mio caso, ho classi che fanno i seguenti tipi di cose e vorrei nomi che possono invocare un significato utile per un lettore prima volta quando vedendo uno di questi sulla pila:

  • Una classe per sopprimere la registrazione (che può essere annidata).
  • Una classe per mettere in atto un osservatore.
  • Una classe per registrare l'oggetto corrente in elaborazione per il thread corrente.
  • Una classe derivata per elaborare l'oggetto oltre al comportamento della classe base (nella riga precedente).

Come primo taglio, ho usato nomi come questi (in ordine sopra corrispondente), ma la speranza di migliorare su di loro:

  • classe SuppressLogger
  • classe ScopedObserver
  • classe WithCurrentObject
  • classe WithObjectProcessed: WithCurrentObject pubblico
+0

Non vedo niente di sbagliato in questi nomi. Potrei anteporre 'Log' alle ultime due (ad esempio' LogWithCurrentObject'), ma a seconda del codice, potrebbe non essere necessario. –

risposta

9

RAII deve essere utilizzato in tutto il linguaggio. Poiché dovrebbe essere l'impostazione predefinita, non c'è alcuna convenzione di denominazione da seguire.

+7

Vero, ma c'è una differenza tra una classe che * succede * per implementare RAII e una classe il cui * focus * è RAII (nella misura in cui non ha metodi diversi da un costruttore e un distruttore). Presumo che William stia chiedendo di quest'ultimo. – dan04

+0

@ dan04 Hai ragione. – WilliamKF

Problemi correlati