refactoring time budget
Sep. 26th, 2023 01:00 pmЯ долго ощущал какую-то недосказанность в описании выделяемого времени на рефакторинг.
А сейчас я понял.
"Вам выделяется два часа на рефакторинг" не работает, потому что прямо сейчас нужды в рефакторинге нет.
"В проект заложено время на рефакторинг" работает, потому что это время используют когда нужно.
Можно считать их деньгами на случай катастрофы. Вы не можете выделить деньги на аварийные операции в тот момент, когда их нет. Но вы должны иметь их в запасе, чтобы в тот момент, когда случится авария, чтобы иметь возможность провести эти аварийные операции.
То есть нельзя откладывать рефакторинг "на потом", потому что потом уже нет нужды в рефакторинге. Рефакторинг - это спасательная операция во внезапно образовавшемся аварийном месте, которое существует не само по себе, а с участием попавшего в это место человека.
А сейчас я понял.
"Вам выделяется два часа на рефакторинг" не работает, потому что прямо сейчас нужды в рефакторинге нет.
"В проект заложено время на рефакторинг" работает, потому что это время используют когда нужно.
Можно считать их деньгами на случай катастрофы. Вы не можете выделить деньги на аварийные операции в тот момент, когда их нет. Но вы должны иметь их в запасе, чтобы в тот момент, когда случится авария, чтобы иметь возможность провести эти аварийные операции.
То есть нельзя откладывать рефакторинг "на потом", потому что потом уже нет нужды в рефакторинге. Рефакторинг - это спасательная операция во внезапно образовавшемся аварийном месте, которое существует не само по себе, а с участием попавшего в это место человека.
no subject
Date: 2023-09-26 10:29 am (UTC)Собственно, это и демонстрирует проблемы менеджмента. Они не понимают, когда что надо. "Сократим симфонический оркестр вдвое, они же одно и то же играют."
no subject
Date: 2023-09-26 11:10 am (UTC)no subject
Date: 2023-09-26 11:57 am (UTC)Я регулярно нашему СЕО приводил сравнение - "менять масло некогда, нам сейчас надо срочно ехать, на тот берег."
no subject
Date: 2023-09-26 12:06 pm (UTC)no subject
Date: 2023-09-26 05:01 pm (UTC)no subject
Date: 2023-09-26 06:21 pm (UTC)По моему опыту, рефакторинг - это совсем не сложно и не долго. _Если_ его делать всё время и по-немножку. А не большими, отдельными проектами.
no subject
Date: 2023-09-27 06:19 pm (UTC)Да. Мой инсайт состоит в том, что не существует "рефакторинга вообще", а есть рефакторинг того, что прямо сейчас мешает человеку делать его работу. Когда он работу закончит, этой проблемы может уже не быть (а в коде останется кривая дорожка, которая работает, и которую никто не будет убирать, потому что это почти невозможно).
То есть рефакторинг, это не объективное приближение кода к идеалу, а упрощение работы человека, для того, чтобы он поменьше кульбитов делал (которые суммируются с предыдущими и ухудшают жизнь следующему).
То есть мантра про "технический долг" и "время на рефакториг" не работает. Рефакторинг - это решение проблем разработчика, а не абстрактного кодобожества.