【问题标题】:Naming of hierarchical structures in C++C++中层次结构的命名
【发布时间】:2011-06-05 13:35:33
【问题描述】:

我需要以下层次结构的建议,我想在 C++ 程序中表示。

有一个抽象类uri 和派生自它的类urlurn。 我想要一个包含 uri 概念源代码的目录。还有一个命名空间应该被称为..uri。 :)

所以,我来回答我的问题。 当命名空间已经被称为“uri”时,我将如何命名抽象类“uri”呢? 在 C++ 中这个问题通常采用什么命名约定? base、uri_base、basic_uri 或者你会如何命名它?

我的第二个问题是。在用户感到乏味之前,您可以多久嵌套一次命名空间?例如,我有 authorityquery 等 uri 部分。 创建一个新的命名空间(例如:parts)并将这些类的源代码放在一个新的子目录中是否明智?还是这只是“过度设计”?

感谢和问候

真实

【问题讨论】:

    标签: c++ namespaces naming-conventions class-hierarchy


    【解决方案1】:

    命名空间不基于也不应该基于保存文件的实际目录。 它们的目的是将相关的类/结构/常量组合在一起并减少歧义。

    将类命名为与其包含的命名空间相同(例如 uri::uri)没有问题。选择名称时应考虑到将使用这些类的程序员。

    【讨论】:

      【解决方案2】:

      当命名空间已经被称为“uri”时,我该如何命名抽象类“uri”呢?

      如果你愿意,你可以简单地将它命名为“uri”,你可以有一个与封闭命名空间同名的标识符。

      【讨论】:

        【解决方案3】:

        您在滥用命名空间。它们本质上是为了防止库之间的名称冲突 - 通常,每个库应该有一个命名空间。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-02-15
          • 2013-02-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-05-19
          • 1970-01-01
          相关资源
          最近更新 更多