Какой самый быстрый способ определить, какой код будет затронут рефакторингом? - PullRequest
1 голос
/ 04 января 2012

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

Прямо сейчас я использую

grep "classname" <code>find . -regex .*\.java> Use_classname.txt

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

Ответы [ 2 ]

2 голосов
/ 05 января 2012

Хорошее решение - использовать JUnit и практиковать тестовую разработку .После рефакторинга повторный запуск тестовых случаев покажет вам, была ли повреждена какая-либо существующая функциональность.Более того, поскольку вы на самом деле тестируете код, а не выполняете grep'ы над именами методов, вы можете получить полную обратную трассировку, что значительно упрощает отладку.Хорошее введение в JUnit можно найти здесь .

2 голосов
/ 04 января 2012

[Просто быть библиотекарем здесь:]

Поиск ссылок на Java метод / класс:

Как найти все методы, вызывающие данный метод в Java?

Как найти ссылки на класс в Eclipse?

Ссылки на аннотации Java:

Как проверить ссылки на аннотированные методы

Поиск ссылок на «производные» методы в Eclipse:

Eclipse Specific: Можно ли найти ссылки на использование производных методов в классе?

Как это сделать с VIM :

Можно ли найти использование Java-классов или методов в VIM?

И с Emacs :

Как найти ссылки на класс, метод, переменную в Emacs с помощью Etags?

Поиск (количество) ссылок на метод в C # :

Как программно определить количество ссылок на метод с помощью C #

Приятно читать: как найти методы, которые не используются в C # /. NET :

Найти неиспользуемый код

Существует ли инструмент для поиска функций без ссылок (мертвый, устаревший код) в приложении C #?

О рефакторинге PHP код:

Инструменты для рефакторинга PHP-кода

Поиск ссылок в Smalltalk :

Найти ссылки на строку / символ / метод

Поиск ссылок в (Apple) Xcode кажется популярным вопросом:

Найти ссылки на методы в Xcode

Xcode: просмотреть ссылки на переменную?

Поиск всех ссылок на переменную или метод в Xcode4

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...