RU

[Перевод] ИИ ускорил разработку. Почему продакшен стал ломаться чаще

Искусственный интеллект уже ускорил написание кода, а способность систем безопасно принимать изменения осталась прежней. Отсюда – аккуратные пулл-рекв…

ИИ в разработкеИИ-кодрефакторингтехнический долгнадёжность системыкод ревьюконтракты APIнаблюдаемостьавтоматизированное тестирование
Habr
RU

Я собрал кнопку, которая сотрёт прогресс всех моих игроков. И до сих пор боюсь её нажать

Два года по вечерам в одиночку пилю текстовую MMORPG в Telegram. Сейчас в ней 1111 аккаунтов и 586 выживших, которые бродят по мрачному острову. И где…

mmorpgвайпwipephpmysqlмиграциитестырефакторингtelegramбот
Habr
RU

Технический долг — это не только legacy: как мы уменьшаем разброс решений между Go-сервисами

Когда компания растёт из одного продуктового направления в несколько, технический долг начинает выглядеть иначе. Проблема уже не в «старом коде», уста…

golangмикросервисытехнический долгархитектурарефакторингстандартизацияшаблонизацияуправление зависимостямибэкендrenovatebot
Habr
RU

Гибель богов. Fable и ещё 10 LLM реорганизуют код. Сравнение

Это подробный разбор одного эксперимента. Я взял god node из реального LangGraph агента и попросил 5 американских и 6 китайских моделей сначала предло…

LLMLangGraphИИ-агентырефакторингнейросетиDeepSeekFableLLM-as-a-judgeархитектура ПОбенчмарки LLM
Habr
RU

[Перевод] Как внедрять AI-агентов в легаси-код без тихих регрессий

AI-агент за пару минут отрефакторит модуль, перенесёт компонент или причешет кусок кода. Но как только в системе всплывают неявные контракты — интегра…

AI-агентылегаси-кодbrownfield-разработкарефакторингинженерное управлениеctoмиграция кодовой базыдокументация кода
Habr
RU

Луковичная архитектура: канон и где от него осознанно отступать

Луковичную (onion) архитектуру обычно продают аргументом «легко поменять БД или фреймворк». Только базу в проде меняют раз в пятилетку, а чаще вообще …

чистая архитектураonion architectureлуковичная архитектурагексагональная архитектураDDDинверсия зависимостейdependency injectionрефакторингпроектированиекодовые агенты
Habr
RU

Сервисы конвертации кода «съедают» опенсорс

Недавно в интернете начал работу сервис рефакторинга Malus.sh по «очистке кода от опенсорсных лицензий». Он позиционирует себя как «чистая комната», г…

свободные лицензиилицензионная очисткаплагиатрерайтMalus.shобратная разработкарефакторингчистая комнатаchardet
Habr
RU

Как я перестал исправлять ИИ код и начал проектировать под него архитектуру

После нескольких месяцев работы с AI‑кодом я пришёл к неожиданному выводу: проблема может быть не в LLM, а в наших …

искусственный интеллектllmai codingрефакторингvibe codingopen sourcedependency managementгенерация кодаархитектура системы
Habr
RU

Модульная архитектура против хаоса: как ограничить контексты в большом монолите

При большом масштабе компании требования к стабильности и скорости разработки становятся критичными. Долгое время бэкенд платформы Flowwow оставался м…

архитектурамодульный монолитрефакторингonion architectureyiiконтекстымикросервисыстатический анализатор кодауправление зависимостямипроцессы разработки
Habr
RU

Семь стрел, 429 деревьев: семилетняя ошибка именования, всплывшая за чисткой Mermaid-визуализации

Заходят как-то две машины Тьюринга в одну диаграмму… а у них имена одинаковые. Я говорю «машины», а на деле — два р…

проектирование apiрефакторингчисла каталанаmermaidкомпозиция состоянийopen sourceмашина тьюринга
Habr
RU

Архитектурный долг со знаком плюс: когда пора платить проценты

Технический долг есть почти в любой системе. Но в какой момент он превращается из разумного компромисса в фактор, который зам…

архитектурный долгтехнический долгsoftware architectureархитектурные метрикиDORALead Time for ChangeChange Failure Rateфитнес-функциирефакторингмикросервисная архитектура
Habr
RU

Два года один пилю MMORPG на CI4: пять багов, за каждым из которых стоял живой игрок

Строка “false” в PHP равна true. Я узнал это, когда рубильник, которым я выключаю фичи перед живыми игроками, полгода отказывался выключаться. Два год…

codeigniter 4phpphpstanmysqlormutf8mb4граблиmmorpgtelegram ботрефакторинг
Habr
RU

Контекстный менеджер Python: пишем свой with и управляем ресурсами через ООП

Работа с внешними ресурсами — файлами, базами данных или сетевыми соединениями — требует строгой дисциплины. Забыли закрыть соединение? Приложение в и…

pythonоопконтекстные менеджерыcontext managerоператор withdunder методыуправление ресурсамирефакторингpython3чистота кода
Habr
RU

Здравствуйте, я мистер Мисикс. Практические заметки о психологии вашего искина

… За эти полгода я кое-что узнал о том, как можно (и как не стоит) обращаться с тем замечательным созданием, что живёт в вашем терминале, виэскоде, ку…

Вайбкодингагентыагенты ииагентный ииагентное программированиепсихологияискусственный интеллектрефакторинг
Habr
RU

Сколько стоит ваш техдолг: методики, цифры, российская специфика

Представьте: вы наконец посчитали, сколько денег утекает из дома через плохую теплоизоляцию. Пришли к владельцу с цифрой в 200 тысяч в год на отоплени…

технический долгтехдолгрефакторингуправление командойлегасиcost of delayметрики разработкитимлидбюджет на разработкуSimpleOne SDLC
Habr
RU

Два мажора, один README, одно демо: два почти бесплатных дизайн-ревью

Из трёх мажоров, описанных в предыдущей статье, два не всплыли в тестах. Они всплыли в двух дизайн-ревью, которые тесты прове…

проектирование apiмашина тьюрингарефакторингjavascriptдизайн-ревьюдокументация
Habr
RU

«Весомый» рефакторинг, или как мы перестали беспокоиться и полюбили работу с весами

Представьте, что вы работаете над кодом магазина, который живёт уже много лет. Бизнес доволен, продажи растут, но есть одна проблема — модуль обращени…

javaмоделирование системархитектурные паттернырефакторингархитектура приложенияработа с устройствамивесыdispringкачество кода
Habr
RU

Эволюция Telegram‑бота на C++: от «лапши» в main() до ООП, in‑memory кэша и мутов по Фибоначчи

Привет, Хабр! В этой статье я расскажу об эволюции моего проекта — GroupModerBot , бота для модерации Telegram‑групп. Я покажу, ка…

c++c++20sqlitetelegramtelegram botкэшированиемодерированиерефакторингботopen source
Habr
RU

Feature Based Clean Architecture. Часть 2: Декомпозиция на сервисы: анализ ограниченности подхода

Стандартный ответ на god-сервис — декомпозиция: разнести логику по нескольким сервисам с чёткими зонами ответственности, оставить тонкий оркестратор. …

nestjstypescriptархитектурабэкендантипаттерныgod objectfeature-basedтехнический долгрефакторингtypeorm
Habr
RU

Сложно читать IT литературу на кривом русском? Есть решение — книжный ревью (рефакторинг)

Я читаю IT-книги уже много лет. И много лет мирюсь с одним и тем же: «управление транзакций с помощью повествований» вместо саги, «многоразовый код» в…

переводыbook reviewdebugingрефакторинг
Habr
RU

Когда онбординг длится 2 месяца: день 3 — проследить главный поток данных

Иногда систему нужно быстро объяснить человеку со стороны: новому разработчику, техлиду, архитектору, аудитору или инвестору на technical due diligenc…

онбордингdata flowархитектурадокументацияUMLAPISDKdebugginglegacyрефакторинг
Habr
RU

Ваша кодовая база умрёт через 7 лет. Считаем на пальцах

Откройте свой git log за последний месяц. Посчитайте коммиты, начинающиеся со слов fix, hotfix, temp, workaround или (классика жанра) – //TODO: перепи…

технический долгтехдолгlegacyрефакторингai-кодvibe codingmckinseyуправление разработкойархитектура поKnight Capital
Habr
RU

Техдолг = налог. Как перевести его в рубли и показать финдиру

Фича делалась 3 дня, теперь делается 3 недели. Как перевести техдолг в рубли и перестать проигрывать разговор с бизнесом. Читать далее

техдолгтехнический долгрефакторингDORASonarQubeCodeSceneуправление разработкойбюджет на разработкуметрики кода
Habr
RU

Между нами SLA: как бизнесу и поддержке договориться до первого инцидента

Разбор SLA от человека, которого подключают, когда сайт недоступен, заказы не проходят, а в чатах уже ищут виноватых. Рассказываю, как SLA помогает бе…

системное администрированиеdevopsslaтехническая поддержкамониторинг сервераинцидентыревью кодарефакторингаварийное восстановлениеаварийные ситуации
Habr