【问题标题】:What is a common naming convention for RAII classes? [closed]RAII 类的通用命名约定是什么? [关闭]
【发布时间】:2012-07-02 18:18:36
【问题描述】:

在 C++ 中,当使用资源获取即初始化 (RAII) 模式时,是否有任何通用的类命名约定?

在我的例子中,我的类可以执行以下类型的操作,并且我希望在第一次阅读堆栈时看到其中的一个时可能会调用有用含义的名称:

  • 抑制日志记录的类(可以嵌套)。
  • 一个放置观察者的类。
  • 用于记录当前线程正在处理的当前对象的类。
  • 一个派生类来处理除了基类行为之外的对象(在前一行)。

作为第一次剪辑,我使用了这样的名称(按上述顺序),但希望改进它们:

  • 类 SuppressLogger
  • 类ScopedObserver
  • WithCurrentObject 类
  • 类WithObjectProcessed:公共WithCurrentObject

【问题讨论】:

  • 我看不出这些名字有什么问题。我可能会将Log 添加到最后两个(例如LogWithCurrentObject),但根据代码,这可能不是必需的。
  • 如果您想知道如何命名资源的 RAII 包装器,您可以查看例如 the wrappers defined in the standard libraryQMutexLocker

标签: c++ naming-conventions raii


【解决方案1】:

应该在整个语言中使用 RAII。由于它应该是默认值,因此无需遵循命名约定。

【讨论】:

  • 是的,但是发生实现RAII的类和focus是RAII的类之间存在区别(在某种程度上不是具有构造函数和析构函数以外的任何方法)。我猜威廉问的是后者。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-27
  • 2012-11-25
  • 1970-01-01
  • 2018-04-15
  • 2016-04-12
  • 2022-01-09
  • 1970-01-01
相关资源
最近更新 更多