чейнджей с помощью обычных инструментов для рефакторина в студии. Там гибко можно настраивать некоторые вещи. И приятного мало на большом проекте. Все равно без какого то минимального смоук теста (хотя бы самому) катить это в прод страшно.
Плюс, использование replaceWith гладко проходит в случае, когда у тебя изменения апи по сути это rename fun foo(bar : Bar) в fun newFoo(bar : Bar).
Ты можешь гарантировать, что колчество аргументов не поменяется? что возвращаемое значение не изменится?
ReplaceWith — это замена одного вызова на другой, а не переименование. foo(bar) вполне можно заменить на newFoo(bar.baz(), mode = ZALOOPA).asZzzzz().toXxxxx().
Я в библиотеке регулярно что-нибудь депрекейчу и пишу ReplaceWith, который мне потом мигрирует сотню тестов. Работает отлично.
Обсуждают сегодня