======================
== Code and Destroy ==
======================

Я люблю Legacy

Programming

Неприязнь к легаси-коду давно известна.
Многие программисты с ненавистью повторяют эти слова, но…
Я Legacy люблю, потому что это прекрасная возможность внедрить что-то новое и отточить практики рефакторинга.
Да и вообще, испытываю огромное чувство удовлетворения, когда превращаю legacy-код во что-то прекрасное.
Только есть нюанс - нужно огромное количество терпения, потому что придется совмещать работу над новыми фичами или исправлением багов с рефакторингом, а это удлиняет процесс.

Но, у меня есть несколько простых рецептов:

  1. Я стараюсь выделять по часу в день на рефакторинг.
  2. Когда есть новый таск, в процессе его выполнения, я не нагромождаю костыль на костыль. Я стараюсь без фанатизма провести рефакторинг, необходимый для того чтобы доработка не всталвяла кусок новых проблем, а несла с собой положительные изменения относительно того что было.
  3. Когда нужно исправить баг - отлично, значит будет исправлен не только он, но и часть кода вокруг него.

Получается, я рефакторю код перманентно. Чтобы я не делал, изменения идут не только по поставленной задаче, но и улучшают код вокруг нее.
Да, это маленькие шаги, общий процесс идет долго, но чувство удовлетворения от осознания того, что я не просто выполнил задание, но и улучшил кодовую базу, греет душу.