Какой самый быстрый способ определить, какой код будет затронут рефакторингом?
Я использую Eclipse и Java, но ответ не должен быть конкретным для них. Я уверен, что ответы для конкретных платформ получат массу положительных отзывов, если они будут гораздо быстрее, чем не для конкретной платформы.
Щас пользуюсь
grep "classname"
find . -regex .*\.java
> использует имя_класса.txt
найти код, на который может повлиять изменение класса. Если есть только несколько строк, возвращаемых этим, я могу посмотреть на это вручную, как есть. В противном случае я могу снова выполнить поиск, чтобы найти конкретные методы, которые я изменяю. Есть лучший способ сделать это?
2 ответа
[Просто быть немного библиотекарем здесь:]
Поиск ссылок на метод / класс Java:
Как я могу найти все методы, которые вызывают данный метод в Java?
Ссылки на аннотации Java:
Поиск ссылок на "производные" методы в Eclipse:
Eclipse Specific: Можно ли найти ссылки на использование производных методов в классе?
Как это сделать с VIM:
Можно ли найти использование Java-классов или методов в VIM?
И с Emacs:
Как найти ссылки на класс, метод, переменную в Emacs с помощью Etags?
Поиск (количество) ссылок на метод в C#:
Приятно читать: как найти методы, которые не используются в C# /.NET:
Есть ли инструмент для поиска функций без ссылок (мертвый, устаревший код) в приложении C#?
О рефакторинге PHP- кода:
Поиск ссылок в Smalltalk:
Поиск ссылок в (Apple) XCode, кажется, популярный вопрос:
Найти ссылки на методы в Xcode
Хорошее решение - использовать JUnit и практиковаться в разработке через тестирование. После рефакторинга повторный запуск тестовых случаев покажет вам, была ли повреждена какая-либо существующая функциональность. Более того, поскольку вы на самом деле тестируете код, а не выполняете grep'ы над именами методов, вы можете получить полную обратную трассировку, что значительно упрощает отладку. Хорошее введение в JUnit можно найти здесь.