Java Reflection предоставляет механизм для интроспекции объекта во время выполнения. Никаких вторых мыслей, это отличная функция, но она нарушает все соглашения Refactoring!
Нет простого способа (кроме File Search
) даже в современной среде IDE знать, к какому атрибуту относится и где. Это делает Refactorings намного более сложным (утомительным!) И подверженным ошибкам.
Чтобы быть откровенным, это не только Reflection API
; Hibernate mapping files (hbm.xml)
и JSP files
оба относятся к атрибутам как String, и когда вы реорганизуете свое имя атрибута, вам необходимо вручную изменить во всех этих местах.
Хуже того, изменения в файлах сопоставления Hibernate или JSP файлах приводят к ошибкам во время выполнения.
Мне интересно узнать, как другие программисты справляются с этим в Java. Есть ли какие-то инструменты? Я использую Eclipse/IBM RAD в качестве основной платформы разработки. Обычно мы используем constant
для определения атрибута и используем его по возможности, но это не всегда возможно.
Мне также будет интересно, как это справятся с другими языками!