Re[4]: Инициализация локальной статической переменной
От: pasenger  
Дата: 23.11.10 13:21
Оценка:
Здравствуйте, zaufi, Вы писали:

Z>Здравствуйте, pasenger, Вы писали:


P>>Здравствуйте, zaufi, Вы писали:


Z>>>мое imho в таких случаях: если foo() находится в .cpp то помещаем get_black() в анонимное пространство имен гденить выше, если же она в hpp, то помещаем в пространство имен details (заключенное в текущее пространство имен...). само имя details явно указывает что никто, исключая текущую библиотеку\подсистему\whatever не должен снаружи использовать сущьности из него...


P>>Я тоже помещаю в таких случаях случаях функции в анонимный namespace. Но в результате получается куча функций, которые которые вызываются только в одном месте. А данная конкретная функция так и вовсе вызывается один раз. Это деструктурирует файл и ухудшает читаемость (на мой вкус)


Z>выноси все это в отдельные файлики типа там blah/details/get_black.hh (и пространство имен blah::details) если уж так не хочется "загрязнять" файлы с реализацией... -- сам для себя решай что тебе больше подходит: плодить файлики или немножко сделать "нечитаемым" код...


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

Z>правда встает другая дилемма: хорошая doxygen документация также "загрязняет" код -- ну по крайней мере если не выыносить ее в отдельные файлы... что вобщем то я за свою практику встречал пару раз %)

Насчет "blah/details/get_black.h" интересно в принципе наверное.
Но вот, честно говоря, и хочется избежать всяких таких прыжков. Мне всего лишь нужна константа "черный цвет". Не думаю, что это стоит того, чтобы создавать файлы, документировать и т.п.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.