один вопрос будет: что за переменная?
в случае статических переменных, которые не меняются после того, что я бы назвал «время загрузки» из-за отсутствия лучшего термина, я использую ALL_CAPS ... то же самое для глобальных переменных (если язык поддерживает их вообще) ...
Обмен семантикой - это точка соглашения об именах, и, видя, что ALL_CAPS ясно заявляет, что: а) я не буду писать в него; б) я могу кешировать его (например, в локальную переменную или в AS3 даже переменную экземпляра). имеет смысл, так как статический доступ очень медленный) ...
неважно, является ли это "реальной константой" или нет, это не имеет значения ... это больше детали реализации, которые должны быть скрыты (надежно! Скрытие информации - это хорошо, и важно, но важно, чтобы информация которым можно поделиться, можно доверять!) ... его действительно можно обменять ... например, я часто начинаю создавать приложения, а не некоторые жестко запрограммированные конфигурации, содержащие некоторые статические константы ... позже я решаю, что не хочу, чтобы это было жестко закодировано, а скорее из какого-то конфигурационного файла, поэтому я загружаю его, и во время процесса загрузки я инициализирую все псевдоконстанты ... приложение actall по-прежнему обрабатывает их как константы, потому что после загрузки это то, что эти значения ... это кажется мне вполне уместным ...
на уровне экземпляра, я не уверен на 100%, если бы я столкнулся с делом, где я мог быть уверен, что какое-то поле никогда не изменится ... обычно, это делает класс негибким ...
кроме этого, вы можете обычно объявлять свойства только для чтения, чтобы иметь ошибки времени компиляции, что также хорошо иметь ...