【发布时间】:2013-02-02 05:45:27
【问题描述】:
创建一个名为“snap”的库,我想要一个名为“log”的类,我将它放在一个子命名空间中。如果命名空间也是“日志”可以吗? (我知道它在技术上可行,我想知道正确的命名约定,你会怎么做?)
namespace snap
{
namespace log
{
class log {
...
enum log_level_t { ..., LOG_LEVEL_ERROR, ... };
...
};
}
}
问题是我们最终会得到这样的结果:
snap::log::log::log_level_t ll(snap::log::log::LOG_LEVEL_ERROR);
你觉得这很奇怪吗? (即双 ::log::log)
【问题讨论】:
-
Log::log 看起来不错。让我想起了Post Versalog。
-
我看不出这个问题的答案对你有什么帮助。我们既不是您的同事,也不是我们代码的未来用户。我们的意见并不重要。重要的是组织的编码约定或与您合作的团队的意见。
-
好吧,我正在开发一个免费项目,因此用户将是任何认为它有用的人。出于这个原因,我认为向社区寻求建议并没有超出范围。我的组织已根据来自不同社区的意见制定了约定。
标签: c++ namespaces convention