Мне было поручено найти все методы в большом Java-приложении, которое в конечном итоге вызывает определенный метод, который необходимо реорганизовать.
Чтобы уточнить, если целевой метод является "fixme", и "fixme" вызывается "a", "b" и "c", а "a" вызывается "d" и "e"; «b» называется «d», «f», «g», «h», «i»; и «с» называется «j» и «k». Тогда "д" называется ... и т. Д.
Итак, у нас есть
k calls c calls fixme
g calls b calls fixme
и так далее.
Глубина этих «цепочек» может быть довольно глубокой, и существует несколько десятков, которые прямо называют «fixme», поэтому ручное решение займет некоторое время. И это не будет единственной задачей рефакторинга.
Итак - я ищу инструмент или стратегию, которая может выполнять эту работу, пока я лениво наблюдаю.
Мне известны такие IDE, как Eclipse, которые позволяют находить ссылки на методы, но они работают по одному методу за раз. Выполнение кода с сообщениями трассировки требует полного покрытия кода, что неосуществимо (и не надежно, поскольку я могу пропустить ни одного). Я действительно ищу какой-то статический анализатор кода с такой функцией.