Здравствуйте, pasenger, Вы писали:
P>Здравствуйте, zaufi, Вы писали:
Z>>мое imho в таких случаях: если foo() находится в .cpp то помещаем get_black() в анонимное пространство имен гденить выше, если же она в hpp, то помещаем в пространство имен details (заключенное в текущее пространство имен...). само имя details явно указывает что никто, исключая текущую библиотеку\подсистему\whatever не должен снаружи использовать сущьности из него...
P>Я тоже помещаю в таких случаях случаях функции в анонимный namespace. Но в результате получается куча функций, которые которые вызываются только в одном месте. А данная конкретная функция так и вовсе вызывается один раз. Это деструктурирует файл и ухудшает читаемость (на мой вкус)
выноси все это в отдельные файлики типа там blah/details/get_black.hh (и пространство имен blah::details) если уж так не хочется "загрязнять" файлы с реализацией... -- сам для себя решай что тебе больше подходит: плодить файлики или немножко сделать "нечитаемым" код...
но в принципе ничо в этом страшного нет (и в том чтобы оставить и в том чтобы вынести

) -- посмотри вон на буст

ну да... смотреть в его исходники без "взрыва мозга" могут не все подряд, но с другой стороны у них документация одна из лучших в опен соурсе (и практически избавляет от необходимости лазить по сорцам)... попробуй и ты стремиться в эту сторону ... смысле делать доки для своего кода такими, чтоб тому кто пользуется не нужно было лазить в исходники

правда встает другая дилемма: хорошая doxygen документация также "загрязняет" код

-- ну по крайней мере если не выыносить ее в отдельные файлы... что вобщем то я за свою практику встречал пару раз %)