Наименование иерархических структур в C ++ - PullRequest
0 голосов
/ 05 июня 2011

Мне нужен совет для следующей иерархической структуры, которую я хочу представить в программе на C ++.

Существует один абстрактный класс uri и классы url и urn, которые происходят из него.Я хотел бы иметь один каталог, содержащий исходный код концепции URI.И пространство имен, которое должно называться .. uri.:)

Итак, я подхожу к своему вопросу.Когда пространство имен уже называется «uri», как бы я назвал абстрактный класс «uri»?Какое соглашение об именах является обычным для этой проблемы в C ++?base, uri_base, basic_uri или как бы вы назвали это?

И мой второй вопрос.Как часто вы можете вкладывать пространства имен до того, как пользователям это надоедает?Например, у меня есть такие части Uri, как authority, query и т. Д. Было бы целесообразно создать новое пространство имен (например: parts) и поместить исходный код этих классов в новыйподкаталог?Или это просто «переоценено»?

Спасибо и всего наилучшего

reeaal

Ответы [ 3 ]

3 голосов
/ 05 июня 2011

Пространства имен не основаны и не должны основываться на реальных каталогах, в которых хранятся файлы. Их цель - объединить связанные классы / структуры / константы и уменьшить неопределенность.

Нет проблем с именованием класса так же, как и содержащего его пространства имен (например, uri :: uri) Имена должны выбираться программистом, который будет использовать классы в уме.

1 голос
/ 05 июня 2011

Когда пространство имен уже называется "uri", как бы я тогда назвал абстрактный класс "uri"?

Вы можете просто назвать его "uri", если хотите, выбез проблем может иметь идентификатор с тем же именем, что и окружающее пространство имен.

0 голосов
/ 05 июня 2011

Вы неправильно используете пространства имен.Они по существу предназначены для предотвращения столкновений имен между библиотеками - как правило, у вас должно быть ОДНО пространство имен на библиотеку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...