TGViewer
dev notes dev notes @junsenior · 1.39K subscribers
Post #75 3.89K
Если ты можешь сделать плохой код лучше - сделай

В одной из компаний где я работал было очень хорошее правило, которое называли тех.долгом: если по задаче ты затронул файл, код в котором оставляет желать лучшего - поправь то, что можешь.

Это не означает, что ты должен начать рефакторить весь проект, переходя из файла в файл, нет. Это означает, что если ты можешь выделить немного времени, дедлайны не горят, спринт ещё не заканчивается и в целом нет каких-то блоков - выдели время и исправь очевидно плохие места.

Например, на моём текущем проекте более 1кк строк кода. Проект писали десятки людей на протяжении многих лет. Часто бывает так, что открывая какой-либо файл я вижу комментарий за 2015 год - "Это может пригодится, пока не удаляем". Окей, Ctrl + F → поиск → нет соответствий. Значит, не то что можно - это нужно удалить. Или, например, ты видишь deprecated-модуль. Посмотри аннотации - скорее всего, этому модулю много лет и он, вероятно, уже нигде не используется и был переписан. Удаляй. Если бизнесу это не пригодилось в течении пары лет - дальше тоже не пригодится. Сомневаешься? Уточни у лида или товарищей по команде, которые на проекте долгое время - использовалось ли это где-то в последние годы. Скорее всего они даже не вспомнят что это.

Бывает, что какой-то контроллер писали в режиме хаоса - были правки на бой, ребята написали пелену кода прямо в контроллере и, поправив ошибку, к этому файлу никто не вернулся. Создай класс-сервис, вынеси туда эту пелену и заинжекти его в класс-контроллер, если у тебя на это есть время. А ещё круче будет, если параллельно к этому ты напишешь тесты.

Увидел функцию из PHP5, которая перечёркнута и ты знаешь её новый аналог - примени (главное версию PHP на сервере проверь; если 5 - не правь, и подумай о смене работы). Так, например, в старом PHP многое делалось через строки - в строке могли объявить функцию, могли вызвать её через строку. Всё это уродство можно заменить, поэтому если увидел - твой долг это поправить. Как писал дядя Мартин - ты должен спорить с бизнесом и доказывать ему, что рефакторинг - это важно, прежде всего, для самого бизнеса.

Так же хорошая практика поделить задачу и рефакторинг на разные коммиты - на PR лид скажет тебе спасибо.
More from @junsenior
  1. Sep 28, 2026Сошлись две вещи. Первая - мой проект safemap.ai, про который я уже писал выше - интеракти…
  2. Sep 17, 2026Post #356
  3. Sep 15, 2026Увидел тут в x.com статистику вакансий по PHP и статистику вакансий по hh.ru в целом. Я на…
  4. Sep 12, 2026Вдохновившись проектом, где делали интерактивную карту с тем, как работает Postgres (писал…
  5. Sep 8, 2026OpenAI выложили блогпост https://openai.com/index/navier-stokes-solution/ Мы публикуем реш…
  6. Sep 8, 2026Если кто не знал, вокруг этого сейчас разгорается очень большой скандал с OpenAI. Кратко,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →