Подтвердить что ты не робот

Быстрый способ сравнения методов в IntelliJ

В настоящее время я работаю над старым Java-кодом, который был написан практически без каких-либо правил кодирования или обычных практик. Я часто сталкиваюсь с работающими, но очень отвратительными фрагментами кода (опечатки в именах переменных, избыточности и многих других), которые я нахожу себе призывая исправить. В одном из этих случаев я нашел класс, который содержит три метода с разными именами, но почти идентичные тела методов.

В соответствии с моим первоначальным наблюдением единственным отличием было имя одного из параметров.

Прежде чем предпринимать какие-либо шаги и объединить их, я хотел бы провести сравнение трех методов, чтобы увидеть, есть ли какая-то тонкая разница, которую я не заметил.

Я знаю, что можно сравнить два файла, сравнить с версией VCS и т.д., но я не смог найти быстрый способ сравнить определения методов в том же файле.

Есть ли более практичный способ сравнить разные разделы одного и того же файла в IntelliJ, а не копировать их в разные файлы и выполнять сравнение файлов?

Спасибо,

4b9b3361

Ответ 1

IntelliJ имеет Найти дубликаты в анализе. Он очень настраиваемый и ориентированный на язык до такой степени, что он не просто ищет блоки текста одинаковыми. Он сможет определить, являются ли два блока кода одинаковыми, но с разными именами переменных, например.

Вы даже можете расширить область действия, чтобы она обнаруживала дубликаты кода, которые находятся в разных файлах.

Дополнительную информацию см. в этой help.

Ответ 2

Еще один быстрый способ сравнить методы (или любой блок кода) внутри IntelliJ:

  • Скопируйте одну версию в буфер обмена.
  • Выделите другую версию.
  • Используйте функцию "Сравнить с буфером обмена" из контекстного меню в редакторе или из меню "Просмотр" > "Сравнить с буфером обмена".