Почему было бы неудобно вводить vehicles::cars::function
в небольшом проекте?
Помните, для каких целей должны использоваться пространства имен. Они должны избегать конфликтов имен, и не намного больше.
Если вы изобретаете такую сложную структуру пространства имен, что у меня возникает соблазн просто поместить несколько using namespace ...
в верхнюю часть каждого файла, то это победит цель пространства имен.
Это также на самом деле не говорит мне, что я уже не знал. Что вы собираетесь вставить в пространство имен boats
, которое я не знал бы из названия, было лодкой? Мне понадобится разъяснение, что «это принадлежит лодкам» на чем-либо в пространстве имен? Скорее всего, нет, и тогда нет смысла иметь пространство имен.
В общем, не спрашивайте, что проблем есть с использованием любой функции языком, пока вы не выяснили то, что преимущества являются. Каждая функция должна оправдывать себя. Итак, какая проблема будет решать ваши предлагаемые пространства имен?
Если это не решит настоящую актуальную проблему, тогда это плохая идея, независимо от чего-либо еще.
Я всегда думаю, что поучительно смотреть на стандартные библиотеки разных языков.
.NET использует глубоко вложенные пространства имен с длинными именами. Полное имя для простого динамического массива - System.Collections.Generic.List<T>
.
В результате никто не использует пространство имен. Все просто помещают using System.Collections.Generic
в начало каждого файла, который должен использовать Список.
И в связи с этим у вас возникли проблемы в тот момент, когда вы столкнулись с List
класс. Вы хотите сделать то же самое с этим, и вуаля, у вас есть два List
классов.
C++ использует очень плоскую структуру namespcae, где пространства имен также имеют очень короткие имена.
Эквивалентный класс на C++ - это просто std::vector
. В результате люди обычно печатают префикс пространства имен, поэтому, когда я добавляю в свой проект еще один векторный класс, * он работает '. Нет конфликтов имен, потому что я использую префикс std::
, когда хочу ссылаться на стандартный вектор библиотеки.
Зависит от того, что Вздор и больше материала –
Также обратите внимание, что единственной причиной наблюдения стиля в небольших программах является привыкание к нему в ожидании больших программ. Стиль, передовая практика, шаблоны проектирования и т. Д. Редко бывают важны в небольших программах, потому что большинство из них служат для удобного обслуживания и легкой расширяемости. –