Большинство таких рефакторингов случаются после того как нашёл какую-то функцию или библиотеку. А иначе как можно сократить до 20 строк?
Ну вообще нет, не обязательно. Но даже если и так, библиотеки могут ломать совместимость даже при переходе с одной версии на другую, а уж при переходах между разными библиотеками, так и подавно. Тут вообще с ума сойдешь без юнит тестов