amarao (amarao_san) wrote,
amarao
amarao_san

Category:

философское

У меня в голове начинает зарождаться метафора "surgical refactoring". Это такой рефакторинг, который проводится на живом пациенте (читай, на проекте с без тестов или с зарождающимися тестами, которые пока ключевые аспекты не покрыли), требует сохранить пациента живым (в терминах, которые может определить только сам пациент и его родные - т.е. "тестов-то нет, есть только пользователи"), и является глубоко интрузивным с целью устранить критическую запутанность внутри.

Рефакторационная выглядит как операционная:
* план рефакторинга
* строгий набор действий, часто повторяющийся: взять переменную отсюда, в 7 (заранее найденных местах) заменить на вот эту, перенести эту переменную отсюда сюда. Повторить для следующих 18 переменных.
* Предельная концентрация, потому что никаких safeguards нет.

После проведения такого рефакторинга обычно уже можно написать тест или чуть-чуть расслабиться, но до - прямо medical emergency чистой воды.
Subscribe

  • systemd-networkd, netlink и arp флуд

    Нереально странный баг пофикшен с помощью eBPF затычки. Для меня большой неожиданностью является реакция на него.…

  • Rust soundness

    Каждый раз, когда я сталкиваюсь с маленькими "но" в Rust'е, это ощущение тщательной продуманности. Например, простейшие fold-функции для итераторов:…

  • still_ntp

    В ходе локального мозгового штурма у меня родилась суперидея. Надо написать ntp сервер, который может отдавать указанную дату. Т.е. сказали при…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 7 comments