C++中层次结构的命名

Naming of hierarchical structures in C++

本文关键字:层次结构 C++      更新时间:2023-10-16

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

存在一个抽象类uri以及从其派生的类urlurn。我想要一个包含uri概念源代码的目录。和一个应该被调用的命名空间。。uri.:)

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

我的第二个问题是,在用户感到乏味之前,多久可以嵌套一次名称空间?例如,我有像authorityquery这样的uri部件。。创建一个新的名称空间(例如:parts)并将此类的源代码放在一个新子目录中是否明智?或者这只是被"过度设计"了?

感谢并问候

reeaal

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

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

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

如果需要,您可以简单地将其命名为"uri",也可以使用与封闭命名空间同名的标识符,这不会有任何问题。

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