У меня есть большой объем кода Java, в котором используется класс XXX. Со временем значение класса изменилось, и название перестало быть подходящим. Чтобы сделать код более читабельным, я хотел бы изменить имя класса на YYY.
Один из вариантов - отредактировать все файлы за один проход и изменить XXX на YYY, но фактическое имя класса не уникально - есть другие классы с тем же именем, другой пакет - поэтому мне нужно посмотреть код . Я хотел бы иметь возможность внести некоторые изменения, проверить их правильность, изменить еще несколько, проверить еще несколько и т. д. В течение этого переходного периода я хочу иметь возможность использовать YYY и XXX взаимозаменяемо. В конце концов я бы исключил XXX.
Мне нужна концепция «псевдоним», где я мог бы сделать YYY и псевдоним XXX, но в Java этого нет.
Я мог бы сделать YYY подклассом XXX со всеми теми же конструкторами и методами. Это будет нормально работать, когда переменная объявлена как XXX, а я присваиваю значение типа YYY. Это также будет работать, если параметр метода равен XXX, а я передаю YYY. Но это не будет работать наоборот, когда параметр объявлен YYY, а у меня есть значение XXX для отправки.
Я мог бы внедрить YYY в наследование, чтобы XXX расширял YYY, но у меня та же проблема, что и выше: в коде, в котором смешано используются объявления XXX и значения YYY, возникают проблемы.
Переходный период займет пару месяцев. В это время я не забочусь о производительности или эффективности, мне просто нужно, чтобы это скомпилировалось и запустилось достаточно правильно для тестирования. Есть ли какие-либо предложения по передовой практике, позволяющей поэтапно изменять имя класса в теле кода Java?
ОБНОВЛЕНИЕ
Ответ ниже заключается в том, что, хотя в Java нет способа сделать это, для этого также не должно быть причин. Затем я установил и рефакторинг кода и описал свой опыт в этом сообщении в блоге: Не терпите плохие имена
huge
, как это делают системы, а слишком велика для обслуживания одним человеком: от 100 до 200 тысяч строк. - person AgilePro   schedule 09.02.2013