Рождение названия «Теории Костылей» или «Теории Костыльности»

Автор(ы): Балышев Егор, Буш Сергей, Максименко Павел

Как русскоязычное сообщество адаптировало Residuality Theory

Фрагмент из Team Lead Talks, 29 июня 2025


residuality theory

Проблема перевода концепции

Егор: Мне не понравилось название "Теория Остатков" для русского перевода. На английском Residuality Theory звучит эмоционально — вызывает реакцию в зале, есть энергия. А “Остатки”… не стреляет совсем.

Сергей: Да, Claude предлагал разные варианты названий, но ни один не передает суть. На английском “Residue” прям вызывает эмоцию, а по-русски он не звучит как…

Егор: …как осадок на дне мусорного ведра, когда мешок достал, а он протек в процессе.

Сергей: Вот именно! Нужно что-то, что передает суть и энергию.


Инсайт о природе legacy-систем

Павел: Я вспомнил историю про хак Кармака в движке Quake. Там было вычисление квадратного корня с каким-то невероятным хаком для быстрого рендеринга. Когда код выложили в open-source, многие пытались понять — зачем он так сделал?

А эта штука очень быстро считает в рамках конкретной системы, и лучше не придумаешь. Это как бы “костыль”, но он описывает граничный случай. Без этого “костыля” пришлось бы 80% системы переписывать.

Сергей: Точно! Получается, что за 10 лет в систему подоткнули все костыли, которые могли потенциально возникнуть. Где-то есть граничные случаи, очень маловероятные, но они просто не произошли. Как только произойдут — в систему подоткнут новые костыли. И система стоит просто как на…

Павел: …как на фундаменте из костылей!


Момент озарения

Сергей: Павел, ты только что родил название! Ты родил название на русский язык. Это будет «Теория Костылей».

Егор: Теория Костылей… да, Павел, правда хорошо звучит!

Сергей: Это не костыли в негативном смысле. Это остатки от реального боевого соприкосновения. Это шрамы героев, понимаешь? Это настоящая жизнь системы.


Переосмысление концепции

Сергей: Проблема с костылями в том, что ты вроде их наставил… И когда прилетает новая фича, от которой твоя чистая новая система просто ляжет наповал, то…

Егор: А старая система на костылях как-то стоит на месте.

Сергей: Именно! Барри показал нам, что костыли — это и есть остаточная архитектура. То, что от системы осталось, то, что с костылями — понимаешь? Что осталось. Это же то, что осталось!

Павел: Получается, что костыли — это и есть основа правильной архитектуры!


Живой пример: Неубиваемый Perl-монолит

Егор: А у меня есть конкретный пример этой теории в действии. На предыдущем месте работы у нас был backend-монолит на Perl, написанный разными людьми за много лет. Мало кто уже понимал, как он устроен изнутри.

И вот этот монолит жил до последнего момента настолько надежно, что он никогда не падал. Никогда! С ним никогда не было проблем типа “сейчас мы что-то поменяли, а теперь оно не работает”.

● Деплои проходили отлично
● Никаких сбоев с базой данных
● Даже когда API использовали не по назначению
● Даже когда туда пихали больше данных, чем предусмотрено
● Даже для задач, для которых система не предназначалась

Пофиг вообще — система продолжала работать.

Сергей: ВО! ВО! ВО! Барри нам с тобой это научно объяснил. Ты это знаешь экспериментально, я это тоже знаю экспериментально.

Реально работающая система: чем дольше она работает, тем более она стрессоустойчива. А потом приходят ребята и собираются переписать: “Сейчас мы по DDD и по Scrum наваяем”. Не надо смешить.

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

Сергей: Именно! Каждый “костыль” в той системе — это ответ на реальную проблему, которую никто заранее не мог предвидеть. Новая “чистая” система может быть архитектурно красивой, но ей не хватает этой закалки.


Практическое применение

Сергей: Теория Костылей противоречит званию “senior architect”. Ты должен продвинутую clean architecture делать, правильно? А тут — костыли. Но бизнес готов за это платить, потому что это работает.

Барри нам говорит: ребята, посмотрите — то, что вы называете костылями, оказывается, это и есть остаточная архитектура. Вот это и есть основа правильной системы!

Вообще с большими системами понаписанными и мощно интегрированными в ИТ-ландшафт очень сложно. Я вам говорю, что Legacy, если вы специалист по замене Legacy, то вы Высшая Лига. Вот, кстати, где программисты нужны будут. У всех этого полно.


bg4

Культурная адаптация

Сергей: Теперь на русский язык Residuality Theory переводится как “Теория Костылей”. Я прямо буду это везде использовать — и в связке с Большой глиной №4, и с законом Галла.

Егор: Теория Костылей, Большая Глина №4... Хочется жить в эти времена!


Развитие концепции

На следующее утро у Сергея появилось еще одно название — “Теория Костыльности”. Этот термин он и начал активно использовать в публикациях на LinkedIn и материалах на сайтах.

“Костыльность” как характеристика системы — это не недостаток, а показатель зрелости и боевой готовности архитектуры.


Итог

Так в ходе живого обсуждения родился русскоязычный термин, который не только точно передает суть концепции Барри О’Райли, но и делает ее ближе к российской ИТ-культуре.

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

Такие моменты коллективного творчества и рождения новых концепций — это и есть суть настоящих профессиональных сообществ как Team Lead Talks.
Присоединяйтесь!

Дата публикации: 29.06.2025