AF.Алексей Филатовпроекты / заметки
RUEN

ЗАМЕТКА / 14.10.2026

Лучший код — тот, который не написан

О документации, разумной простоте и решении, которому не понадобилась разработка.

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

Если решение не записано, его не существует

Конечно, люди могут договориться устно. Более того, в момент разговора все могут понимать друг друга совершенно одинаково. Это редкое и прекрасное состояние длится примерно до следующего совещания.

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

Да, просьба записать договорённость может сделать меня проблемным и капризным. Но мне не нужен трактат в семи томах. Хватит нескольких строк: что решили, почему, кто подтвердил и к чему это относится. Это дешевле, чем через полгода устраивать спиритический сеанс с участием старой переписки.

Второй принцип — не усложнять без необходимости. Для него у меня три правила.

Первое: если решение закрывает задачу бизнеса и устраивает команду, можно остановиться

Не всякую шероховатость нужно полировать до зеркального блеска. Особенно если в зеркале отражается только человек, которому очень нравится совершенствовать собственное решение.

При этом «хорошо для бизнеса» не всегда означает «дешевле прямо сейчас». Иногда самый экономный вариант — это дверь, за которой сидит сотрудник с Excel и пожизненной ручной работой. Считать стоит не только стоимость внедрения, но и то, во что решение обойдётся людям потом.

Второе: мы продаём продукт, а не код

Пользователь не вручает нам медаль за количество новых условий, экранов и интеграций. Он хочет получить то, за чем пришёл. Если для этого нужен код — отлично. Если не нужен — ещё лучше.

Третье: лучший код — тот, который не написан

Написанная функция редко приходит одна. Обычно за ней тянется процессия: согласования, тесты, выпуск, поддержка и будущий разработчик, который откроет задачу с выражением лица человека, обнаружившего потайную комнату в собственной квартире.

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

Но мы сначала поговорили с юристами. В итоге обновили политику сайта и добавили дисклеймер. Исходную задачу закрыли без разработки.

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

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