философское
Aug. 1st, 2021 12:23 pmУ меня в голове начинает зарождаться метафора "surgical refactoring". Это такой рефакторинг, который проводится на живом пациенте (читай, на проекте с без тестов или с зарождающимися тестами, которые пока ключевые аспекты не покрыли), требует сохранить пациента живым (в терминах, которые может определить только сам пациент и его родные - т.е. "тестов-то нет, есть только пользователи"), и является глубоко интрузивным с целью устранить критическую запутанность внутри.
Рефакторационная выглядит как операционная:
* план рефакторинга
* строгий набор действий, часто повторяющийся: взять переменную отсюда, в 7 (заранее найденных местах) заменить на вот эту, перенести эту переменную отсюда сюда. Повторить для следующих 18 переменных.
* Предельная концентрация, потому что никаких safeguards нет.
После проведения такого рефакторинга обычно уже можно написать тест или чуть-чуть расслабиться, но до - прямо medical emergency чистой воды.
Рефакторационная выглядит как операционная:
* план рефакторинга
* строгий набор действий, часто повторяющийся: взять переменную отсюда, в 7 (заранее найденных местах) заменить на вот эту, перенести эту переменную отсюда сюда. Повторить для следующих 18 переменных.
* Предельная концентрация, потому что никаких safeguards нет.
После проведения такого рефакторинга обычно уже можно написать тест или чуть-чуть расслабиться, но до - прямо medical emergency чистой воды.