В последнее время я столкнулся с большим количеством Java-кода, который для конфигурации использует "файлы свойств". Но вместо простых старых строковых литералов код использует константы (статические конечные строки) для получения значений свойств.
Я нахожу этот дополнительный уровень косвенности раздражающим, потому что мне нужно выполнить ДВА поиска в направлении ЛИБО . Если я начну со свойства, наблюдаемого в файле конфигурации, мне придется сначала найти имя свойства, чтобы найти константу Java, а затем снова выполнить поиск, чтобы найти ссылки на константу в коде. Если я начну с кода, мне нужно будет найти фактическое значение константы, прежде чем я смогу определить значение свойства в файле конфигурации!
Какой смысл?
Я понимаю ценность использования констант для ссылки на ключи в комплекте ресурсов, обычно в поддержку i18n. Я имею в виду простые, не ориентированные на пользователя значения конфигурации. Причина, по которой я могу придумать only , состоит в том, чтобы упростить изменение имени свойства позже, но это преимущество намного меньше, чем раздражающее IMHO, особенно учитывая простоту глобального поиска и замены.