Технический долг в голове: Почему сеньоры выгорают на задачах для джунов, а пет-проекты умирают в бэклоге

В прошлой статье я рассказывал, как настроил личный iptables и перешел в режим Default Deny , чтобы отбиться от внешних DDoS-атак (коллег, пустых встреч и спама). Периметр я защитил, входящий трафик почистил. Uptime вырос. Казалось бы — живи и радуйся. Но я заметил странную вещь: снаружи тихо, а сервер все равно греется. Я заглянул внутрь контейнера и понял: проблема не во входящих пакетах. Проблема в архитектуре самого приложения . Парадокс: я могу спроектировать архитектуру, которая выдержит падение дата-центра. Я могу дебажить race condition в многопоточном приложении. Но когда мне нужно позвонить в страховую или выбрать отель для отпуска, я впадаю в ступор. Мой личный бэклог забит задачами типа «разобраться с налогами» и «начать бегать», которые висят там с 2019 года. Я переношу их из спринта в спринт, испытывая фоновое чувство вины. В какой-то момент я понял: это не лень. И это не «отсутствие мотивации». Это классический Technical Debt (Технический долг) , только не в репозитории, а в нейросети. И проценты по этому долгу я плачу самым дорогим ресурсом — своей когнитивной емкостью.

https://habr.com/ru/articles/973796/

#Технический_долг #Refactoring #Legacy_code #Прокрастинация #Саморазвитие #Таймменеджмент #Mental_Health #выгорание #личная_эффективность #психология_программирования

Технический долг в голове: Почему сеньоры выгорают на задачах для джунов, а пет-проекты умирают в бэклоге

В прошлой статье я рассказывал, как настроил личный iptables и перешел в режим Default Deny , чтобы отбиться от внешних DDoS-атак (коллег, пустых встреч и спама). Периметр я защитил, входящий трафик...

Хабр

New post:

Heuristics to determine unit boundaries: object peer stereotypes, detecting effects and FIRS-ness
https://codesai.com/posts/2025/07/heuristics-to-determine-unit-boundaries

Subscribe to our newsletter: https://codesai.com/newsletter/

#legacy_code #SoftwareEngineering #CodeQuality #Tech
#tdd #cleancode

Sprouting or wrapping?

Somos un equipo versado en Extreme Programming, ofrecemos desarrollo de software, formación, asesoramiento y apoyo en proyectos.

Codesai

インパクト強めの「メカニマル」を作り,世界を破壊しまくれ! 「Legacy Code」プレイレポ[TGS2024]
https://www.4gamer.net/games/841/G084140/20240926110/

#4gamer #Legacy_Code #TGS_2024

インパクト強めの「メカニマル」を作り,世界を破壊しまくれ! 「Legacy Code」プレイレポ[TGS2024]

東京ゲームショウ2024の講談社クリエイターズラボブースに,127号室が開発する「Legacy Code」が出展されていた。機械と生物が融合したような「メカニマル」をテーマにしたシミュレーションゲームである本作のプレイレポートをお届けしよう。

4Gamer.net

#webdev #legacy_code

So you are familiar with migration script for database schema but have you seen a migration script to renew your code with latest libs major version?

For you who stuck in legacy React/PHP, imagine if you have this kind of script 🤭

https://github.com/rescript-association/rescript-core/blob/main/migration/migration.toml

rescript-core/migration/migration.toml at main · rescript-association/rescript-core

A drop-in standard library for ReScript. Intended to be familiar for JavaScript developers, easy to use, and be rich enough (without being bloated) so that you don't need to reach for anything ...

GitHub

Принципы непрерывного рефакторинга

Работа со старым кодом для многих команд является частью повседневных обязанностей. За свою карьеру я видел и применял разные способы борьбы с тяжестью легаси. Они обычно сводились к одному из трёх основных сценариев: " Работает - не трогай! ": вообще забить на чистки и ничего не менять. В некоторых случаях валидный подход. Но в коде, который приходится менять хотя бы даже эпизодически (фиксы багов, мелкие доделки, смена окружения и т.п.), со временем неизбежно приводит к катастрофе. Вам надо что-то поменять в коде, и это оказывается невозможно сделать легко. Даже за тривиальные изменения приходится платить большой кровью. " Я прочитал Роберта Мартина ": включаем чистки в обычный код. Надеваем галстук бойскаута и чистим код прямо по ходу работы над текущими задачами. Отправляем его коллегам на ревью и ждём несколько дней, покуда они не разберутся, где заканчиваются рефакторинги и начинаются непосредственно изменения по задаче. Или же уходим по кривой дорожке рефакторингов в тёмный лес и продалбываем к чертям все изначальные сроки. Когда начинаешь приводить код к идеалу, не всегда бывает так легко остановиться! " Нужен порядок и учёт ": делаем отдельные коммиты с чистками, но нерегулярно - только когда в дело берётся соответствующий тикет. Правда, тикеты на рефакторинг почему-то регулярно получают самый низкий приоритет во время планирования и маринуются в беклоге месяцами. Но что уж тут поделать? Это всё ловушки! Все эти сценарии страдают одной общей проблемой: темп чисток неудовлетворительно низок. Код зарастает грязью и происходит неизбежная деградация. Задачи делаются всё медленнее, процент дефектов всё выше, отвращение от работы с кодом растёт, новички адаптируются всё медленнее и медленнее. Все несчастны и не знают, что делать. За прошедший год я нащупал и отточил ещё один подход, который лишён указанных недостатков. И теперь готов поделиться им с вами.

https://habr.com/ru/articles/774722/

#refactoring #clean_code #codemod #siebenapp #mikado_method #legacy_code

Принципы непрерывного рефакторинга

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

Хабр
@carbontwelve looks like mine code from 15 years ago 😅 #PHP #LegacyCode #Legacy_Code #refactoring
Working Effectively With Legacy Code
(2004) : Michael C. Feathers
isbn: 0-13-117705-2
#best_practices #dependency_breaking #legacy_code #refactoring #seam_model #software_engineering #unit_testing
#my_bibtex