Предположим, я объявил функцию (или класс, не имеет значения) в файле заголовка, который является частью пространства имен Foo:Рекомендации: использование пространства имен или повторное открытие пространства имен?
namespace foo
{
void bar();
…
}
В течение долгого времени я вновь открыть пространство имен, когда я определяли функцию в файле CPP:
namespace foo
{
void bar()
{
doSomething();
…
}
}
это потому, что я узнал об этом так и он был использован в проекте я работал. Я никогда на самом деле, хотя об этом до недавнего времени, когда я наткнулся на проект, который использовал используя директиву вместо:
using namespace foo;
void bar()
{
doSomething();
…
}
Наконец, есть вариант использования полного имени. Я нахожу это довольно утомительным, особенно когда участвуют классы с большим количеством участников. По-моему, это не имеет большого смысла, когда все содержимое файла является частью одного пространства имен.
void foo::bar()
{
doSomething();
…
}
Так что мой вопрос в том, какой из них должен быть предпочтительным и почему? Особенно в отношении первых двух опций (с использованием директивы или повторного пространства имен).
Я бы сказал, что это вопрос личных предпочтений.Я сам использую смесь как первой, так и последней из ваших альтернатив. –
Я согласен, что это вопрос личных предпочтений. 'foo :: bar' повторяется, но greppable, хотя это может быть неуместно, если люди только ищут ваш источник с помощью среды IDE. –
Это похоже на вопрос, лучше ли использовать вкладки или 4 пробела. ** Не потейте мелкие вещи. ** :) – LihO