Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.239.149.56] |
|
Страницы: (2) 1 [2] все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
Не претендую на лучше решение, но мне так удобно опишу как я делаю:
Следую таким правилам (сам их и придумал) 1. Все переменные и функции располагать в алфавитном порядке. 2. в .cpp - только функции и начинаются с названия модуля, всё остальное в .h 3. namespace e - для глобальных переменных "е" от слова "extern" Пример // Project.h // это самый главный хидер namespace e // глобальные переменные { int focus; HMENU hmenu; // ... здесь все глобальные переменные в алфавитном порядке } в модулях где нужны глобальные переменные // Data.h namespace e // глобальные переменные { extern int focus; extern HMENU hmenu; // ... здесь только те глобальные переменные которые есть в этом модуле } // Data.cpp #include "Data.h" void DataMouseMove(HWND hwnd) { e::focus = 0; // применение глобальной переменной } В итоге: 1. Удобно находить так как все в алфавитном порядке. 2. Удобно писать e:: и пишем глобальную переменную. 3. Визуально хорошо видно в программе где глобальные переменные, и вместе с тем достаточно короткие имена. 4. Удобно расширять программу, так как есть правила достаточно им следовать и нет путаницы и программа самодокументированная без комментариев. 5. Чем больше становится программа - тем больше она приносит эстетического удовольствия (вот как много сделано!), а не проблем типа что невозможно что-то найти или какие-то трудноуловимые ошибки. PS комментарии выше я написал для сайта, в реальной программе комментариев нет, за исключением самой первой строчки с названием файла. |