#машины_разное
Проснувшись однажды утром после беспокойного сна, Грегор Замза обнаружил, что у него в продакшоне огромнейшее количество техдолга.
Шутки в сторону, но не все старое и дурно пахнущее стоит считать техдолгом. Вот пример из моего опыта.
Работая над одной миграцией, мне довелось переписать внутренний процессинг. Система, разработанная лет 6 или 8 назад, придерживалась довольно хитрой логики. Система запрашивает данные платежного метода, после чего передает их дальше по цепочке, заранее сериализуя через Thrift Json Serializer, десериализуя их в точке приема, при необходимости обогащая. У системы были свои недостатки: например она очевидно не поддерживала gRPC, а значит блокировала процессинг на использовании устаревших IDL. Потратив с пару недель, мы обнаружили что сериализованные данные в общем-то и не используются и являются аппендиксом, который можно было удалить.
Отключив его, мы обнаружили, что данные все еще используются, как есть, в процессинге, и это не техдолг, но осознанное дизайнерское решение. Систему так спроектировали, создали и она работала (пока не перестала - но это тема другого поста).
Так вот, техдолг от просто «Старой Системы, Которую Неприятно Поддерживать» отличается наличием… процентной ставки.
Поясню. Если для того, чтобы добавить изменение вам нужно дописать некрасивый старый код, заправив его неудобными тестами, которые не генерируются с помощью Copilot/Cursor - это просто старый некрасивый код.
А если к каждому изменению добавляется поток багов и инцидентов, количество которых со временем только увеличивается - то это техдолг.
Хороший блог на эту тему.
Post #838
1.87K