【问题标题】:What is the detail namespace commonly used for详细命名空间通常用于什么
【发布时间】:2014-12-20 04:39:19
【问题描述】:

在一些较大的项目或库(例如 Eigen)中,您可以看到像 internaldetail 这样的命名空间。我知道internal 有什么用处,但是detail 通常用于什么?将代码分配到这样的命名空间中是否有任何通用约定(尤其是在具有公共接口的库的情况下)?

【问题讨论】:

  • 我通常会在不属于库/框架接口的代码中看到它。所以从某种意义上说,和我说的internal 完全一样。
  • 如果它是一个实现细节,那么如果您在整个库中保持一致,那么名称根本就无关紧要(这将帮助您,而不是您的库用户)。因为你不关心(从外部的角度)私有变量是如何命名的(事实上有很多 conventions )。 detail, internal, implementation, impl, core...你想要什么。
  • "有什么共同的约定吗?"是的 - 选择一个表达“内部细节”意图的名称。喜欢internal,或detail。或者privates, gubbins, malarkey, ...
  • 我通常用尾随下划线命名私有内容。出于这个原因,我喜欢impl_ 作为存储实现细节的命名空间的名称,这些实现细节必须在标头中声明/定义。意图对用户来说应该很清楚,甚至比detail短一个字符。
  • 我发现自己想使用guts 作为detailinternal 的更短同义词,特别是因为我是一个80 专栏的人。

标签: c++ namespaces


【解决方案1】:

命名空间detail 通常与命名空间internal 的使用方式相同。它用于在公共界面中不可见或至少应被外部用户忽略的“内部细节”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-30
    • 1970-01-01
    • 2023-04-09
    • 2018-11-17
    • 1970-01-01
    • 2011-03-23
    相关资源
    最近更新 更多