Я думаю, что есть два способа сделать это.
Первая причина, по которой можно это сделать, - это возможность обнаружить глобальные переменные состояния, связанные с глобальным объектом (обычно оконным или глобальным) в данный момент времени. Проблема в том, что независимо от того, насколько вы строгие, есть только два практических подхода к этому; Во-первых, это создать глобальную переменную для отслеживания глобальных переменных по имени и обязаться всегда менять ее при добавлении / удалении глобальной, во-вторых, сохранить копию исходного состояния глобальной и определить, какие свойства были добавлены, удалены, или изменилось с начала.
Вторая причина сделать это состоит в том, чтобы подчеркнуть в коде, что он намеренно взаимодействует с глобальным состоянием. В этом случае нет никакого стандартного, небольшого преимущества в том, чтобы добавлять комментарии или явно указывать глобальный объект, а не делать это неявным образом.
Существует большое наказание за несогласованность обозначений в коде, если вы решили изменить способ обозначения константы между файлами или проектами. Существует множество нотаций на выбор, и все они терпят неудачу, так или иначе, либо запутывая имя переменной и ее естественный алфавитный порядок, либо добавляя дополнительные накладные расходы на ссылки.
Лично, если я сомневаюсь, мне нравится придерживаться стиля кодирования Ядро Linux , я считаю, что он достаточно решает многие проблемы.
C - это спартанский язык, и ваше имя должно быть таким же. В отличие от Модула-2
и программисты на Паскале, программисты на С не используют такие милые имена, как
ThisVariableIsATemporaryCounter. Программист C назвал бы это
переменная tmp, которую гораздо проще написать, и не в последнюю очередь
трудно понять.
ОДНАКО, хотя смешанные имена не одобряются, описательные имена
для глобальных переменных обязательно. Для вызова глобальной функции foo является
стрельба преступление.
ГЛОБАЛЬНЫЕ переменные (которые будут использоваться, только если они действительно вам нужны) должны
имеют описательные имена, как и глобальные функции. Если у вас есть функция
который считает количество активных пользователей, вы должны назвать это
count_active_users () или аналогичный, вы не должны называть его cntusr ().
Кодирование типа функции в имени (так называемый венгерский
нотации) поврежден мозг - компилятор знает типы в любом случае и
может проверить это, и это только смущает программиста. Неудивительно
MicroSoft делает глючные программы.
ЛОКАЛЬНЫЕ имена переменных должны быть короткими и точными. Если у вас есть
некоторый случайный счетчик целочисленных циклов, он, вероятно, должен называться i.
Называть это loop_counter непродуктивно, если нет шансов на это
быть неправильно понятым. Точно так же tmp может быть практически любого типа
переменная, используемая для хранения временного значения.
Если вы боитесь смешивать имена локальных переменных, у вас есть
Еще одна проблема, которая называется функция-рост-гормон-дисбаланс
синдром. См. Главу 6 (Функции).