А именно, это о "Святом Граале" дизайна в ООП создания объекта, достаточно расширяемого (посредством его отдельного дизайна или посредством его участия в архитектуре) для поддержки будущих непредвиденных изменений, не переписывая ее код (и иногда даже, не перекомпилировав **).
Некоторые способы сделать это включает Полиморфизм/Наследование, Состав, Инверсию Управления (иначе. DIP), Аспектно-ориентированное программирование, Шаблоны, такие как Стратегия, Посетитель, Шаблонный Метод, и много других принципов, шаблонов и методов OOAD.
** Посмотрите 6 "принципов пакета", ЧЛЕН ПАЛАТЫ ПРЕДСТАВИТЕЛЕЙ, CCP, CRP, ADP, SDP, SAP
Существует задача Ant, RscBundleCheck, которая проверяет наличие повторяющихся ключей в наборе файлов ресурсов:
http://rscbundlecheck.sourceforge.net/
Это был бы простой способ интегрировать проверку для дублирования свойств в процессе сборки.
Я не знаю, есть ли там это уже существующий инструмент, но вы должны уметь написать короткую Java-программу или сценарий на удобном для вас языке, который сделает это в кратчайшие сроки. Тогда вы также получите его для использования в будущем.
Быстрый поиск в Google дал следующий http://www.javanb.com/netbeans/1/19793.html
у него есть инструмент графического интерфейса и скрипт, который это сделает.
Если вы используете IDE, вы можете найти хороший инструмент среди их плагинов / функций.
Eclipse имеет плагин ResourceBundle Editor, который управляет файлами свойств:
http://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-331.html
IntelliJ IDEA 8 и более поздних версий также может управлять файлами свойств и проверять наличие повторяющихся записей.
Проще всего написать один: для каждого файла и для каждого свойства в этом файле поместите пару ключ / значение свойства в карту, но только после того, как убедитесь, что ключ еще не на карте. Если это так, распечатайте имя файла, ключ и два значения.