В настоящее время я использую IntelliJ IDEA, чаще всего
- Переименовать (он также может переименовывать геттеры / сеттеры и ссылки в комментариях, литералах и даже не в файлах Java, таких как файлы отображения Hibernate)
- Введите переменную / константу / поле / параметр
- Встроенная переменная / константа / поле
- Метод извлечения, конечно (мать всех рефакторингов)
- Изменить подпись метода (очень полезно)
А потом еще гораздо больше, которые нужны реже, но когда они нужны, они нужны сильно :
- Извлечение интерфейса / суперкласс / класс
- Метод перемещения / класс
Хотя переименование выглядит тривиально, оно все же самое важное. Поиск хороших и лучших имен для элементов моей программы - это постоянное занятие. Хорошие имена могут иметь огромное значение в удобочитаемости программы.
ОТО, архетип рефакторингов - это метод извлечения, потому что автоматизировать его гораздо сложнее. Может быть много подводных камней, таких как возможное столкновение имен с методом супертипа (или еще хуже: непреднамеренное переопределение), параметры ввода / вывода и т. Д. Так что это был своего рода пороговый тест для инструментов автоматического рефакторинга в течение длительного времени, хотя я поверьте, к настоящему времени обычные справляются с этим хорошо.