假设我们有一个包含多个策略类的命名空间:
namespace loggingPolicy {
class OnWrite {...};
class OnReadWrite {...};
etc.
} // namespace
名称LoggingPolicy::OnWrite
有意义。另一方面,这个命名空间实际上是一个类的集合,名称loggingPolicies
会更好地反映出来。应该选择哪一个?
虽然我一般不会遵循Google C ++样式指南,但我确实查找了naming conventions for namespaces,但在此问题上没有任何说法。
P.S。我正在从事一个独立的项目,不受任何组织的指导。但是,我的框架有望被许多人使用,所以好的符号样式很重要。
答案 0 :(得分:5)
对于任何此选择,都没有技术论据支持或反对。基本上它是一个包装选择,如库名称或标题名称。
如果你把自己放在用户一边,有一些一致性论据支持单数:
最后,今天您只公开策略类。但是如果你还暴露了一些常见的帮助器类或实用程序函数呢?复数将给人的印象是这些对象是替代政策,而实际上他们只完成了它所用的政策。