2012-07-02 3 views
6

В C++ при использовании шаблона инициализации ресурсов (RAII), существуют ли общие соглашения для обозначения классов?Что такое общее соглашение об именах для классов RAII?

В моем случае, у меня есть классы, которые делают следующие виды вещей, и я хотел бы имена, которые, вероятно, чтобы вызвать полезное значение для первого читателя времени, увидев одного из них на стеке:

  • Класс для подавления регистрации (который может быть вложен).
  • Класс для установки наблюдателя.
  • Класс для записи текущего объекта, обрабатываемого для текущего потока.
  • Производный класс для обработки объекта в дополнение к поведению базового класса (в предыдущей строке).

В качестве первого разреза, я использовал такие имена, как они (в соответствующем порядке к выше), но надеются улучшить на них:

  • класс SuppressLogger
  • класс ScopedObserver
  • класса WithCurrentObject
  • класс WithObjectProcessed: общественный WithCurrentObject
+0

Я не вижу ничего плохого в этих именах. Я мог бы добавить «журнал» к последним двум (например, «LogWithCurrentObject»), но в зависимости от кода это может быть и не нужно. –

ответ

9

RAII следует использовать на всех языках. Поскольку это должно быть значение по умолчанию, не существует соглашения об именах.

+7

Верно, но есть разница между классом, который * бывает * для реализации RAII, и классом, * фокус * которого является RAII (до степени отсутствия каких-либо методов, кроме конструктора и деструктора). Я полагаю, Уильям спрашивает о последнем. – dan04

+0

@ dan04 Вы правы. – WilliamKF