Прежде, чем переписывать с нуля

Возьмём двух программистов: Васю и Петю.

Вася постоянно настаивает на переделках. «Всё плохо, а если перепишем, станет круто,» — говорит он. Проект стагнирует и не развивается. Команда занята вечными переделками, на новые штуки времени не остаётся. (Денег тоже.)

Петя же правит то, что есть. У него уходит какое-то время, чтобы разобраться с написанным. Но после, если он вернётся к похожей задаче, он сразу сообразит, что делать.

Это не означает, что Петя не переписывает ничего. Он переписывает устаревшие функции, убирает ненужные куски и т.д. Смысл в том, что он этим не злоупотребляет. Проект живёт и развивается. Команда не зацикливается на переделках, пользователи довольны обновлениями.

Поэтому прежде, чем браться переписывать код, надо в нём разобраться и понять, как он работает.

Переписывать, не понимая, плохо, потому что:

  • вы не видите зависимостей, не контролируете работу, в результате что-то сломается;
  • это дорого;
  • если вы чего-то не учли, это ещё и бесполезно — придётся вернуть старое.

Тот, кто писал до вас, написал так неспроста. Вам нужно понять, почему код написали так. Штука в том, что тогда, возможно, ничего переписывать не придётся. Если вы вникнете в работу кода, вы поймёте, где ошибка, и что поправить. А с нуля переписывать можно только нерабочий код.