【发布时间】:2014-12-20 04:39:19
【问题描述】:
在一些较大的项目或库(例如 Eigen)中,您可以看到像 internal 或 detail 这样的命名空间。我知道internal 有什么用处,但是detail 通常用于什么?将代码分配到这样的命名空间中是否有任何通用约定(尤其是在具有公共接口的库的情况下)?
【问题讨论】:
-
我通常会在不属于库/框架接口的代码中看到它。所以从某种意义上说,和我说的
internal完全一样。 -
如果它是一个实现细节,那么如果您在整个库中保持一致,那么名称根本就无关紧要(这将帮助您,而不是您的库用户)。因为你不关心(从外部的角度)私有变量是如何命名的(事实上有很多 conventions )。
detail,internal,implementation,impl,core...你想要什么。 -
"有什么共同的约定吗?"是的 - 选择一个表达“内部细节”意图的名称。喜欢
internal,或detail。或者privates,gubbins,malarkey, ... -
我通常用尾随下划线命名私有内容。出于这个原因,我喜欢
impl_作为存储实现细节的命名空间的名称,这些实现细节必须在标头中声明/定义。意图对用户来说应该很清楚,甚至比detail短一个字符。 -
我发现自己想使用
guts作为detail或internal的更短同义词,特别是因为我是一个80 专栏的人。
标签: c++ namespaces