RU

Как индексация строк изменила систему типов HydraScript

В HydraScript мне понадобились две привычные операции со строками: получить длину и обратиться по индексу. Массивы уже умели и то и другое. Чтобы на…

операторысистема типовтипизациятипоперациякомпиляторыстатический анализрефакторингооппроектирование
Habr
RU

Переезд с Leaflet на MapLibre: детектив про один рывок и 251 маршрут, проверенный байт в байт

История начинается с самой неблагодарной формулировки бага, какая бывает: а какая именно, мне пришлось в этом поковыряться. Читать далее

MapLibreLeafletWebGLрефакторингмиграциярегрессионное тестирование
Habr
RU

Когнитивный налог: сколько стоит думать по-английски, когда программируешь

Спор о русском в коде обычно ведут идеологи. Одни требуют «программировать на родном», другие крутят пальцем у виска. Но если убрать эмоции, остаётс…

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

Как организовать UI так, чтобы не переписывать код: личный опыт

Одна из участниц команды, с которой сейчас я веду разработку очень крутого ПО для создания интерактивых сцен и анимаций (в следующих статьях об этом…

UIпользовательский интерфейсархитектуратёмная темаtheme-файлспагетти-кодличный опытличный опыт в разработкесезон будущее здесьрефакторинг
Habr
RU

Небольшой экскурс в кроличью нору по выравниванию террейна в RTS игре

Всё что строится в Knights Province, дороги, поля, дома, рельеф требует выравнивания террейна. Это небольшая деталь почти не влияет на геймплей, но,…

rts-стратегииигростроениерефакторингоптимизацияgamedevgame development
Habr
RU

Как я переписал каталог из 500 000 SVG‑иконок с Laravel на Go и уменьшил сервер с 4/6 ГБ до 2/2 ГБ

Больше года назад я запустил SVG4  — каталог векторных иконок. Сейчас в нём больше 500 000 SVG‑файлов. Первая версия была написа…

разработкасайткаталогsvgрефакторингgophplaravel
Habr
RU

Навигация во Flutter: выносим переходы из экранов

Гайдлайны Apple, Android и Flutter по-разному, но одинаково настойчиво подталкивают задавать переход прямо в коде экрана — в документации go_router…

flutterdartнавигацияgo_routerархитектураauto_routeкоординаторcoordinatorрефакторингnavigator
Habr
RU

Как быстро влиться в чужой проект и не завалить коллег вопросами: тестируем Gemini Notebook

Обычный вечер понедельника. Я уже собирался уходить домой после работы, как вдруг зацепился за разговор коллег о неком Gemini Notebook. Стало интере…

selectelgemini notebookdeepseekgolangterraformcode reviewрефакторинганализ кодаai в разработкеllm
Habr
RU

Опухший C++ код

Есть такая старая программистская байка, что нельзя платить программистам за строки кода, так как тогда они будут писать длинный бестолковый код и л…

c++си++genaiгенеративный ииобзор кодарефакторингоптимизация кодаcopy-pasteоткрытый исходный кодизбыточность
Habr
RU

Алгоритм был правильным. Ошибка была в контракте графа

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

golangпроектирование apiархитектура кодаграфовые алгоритмыopen sourceбенчмаркингструктуры данныхрефакторинг
Habr
RU

Трижды в топ‑3 финтеха: 6 потерь эффективности, которые мы устранили, чтобы быть среди лучших

Еще в 22-м году я рассказывал , как за довольно небольшой промежуток времени мы смогли ворваться в ТОП-3 финтех-приложений для малого и среднего биз…

управление проектамиуправление разработкойуправление командойразработкаэффективность работыэффективность разработкирефакторингконтроль эволюции
Habr
RU

Как я сделал старый монолит на Laravel 8 — модульным, чтобы не плодить форки под каждого клиента

Изначально это был монолитный портал на Laravel 8, где user фронт и admin фронт лежали рядом с беком в одной папке.  Проект…

LaravelPHPDockerмодульная архитектурамонолитрефакторингплагиныself-hosted
Habr
RU

[Перевод] Экономическая выгода рефакторинга в эпоху AI-агентов

Осваивая разработку с помощью AI-агентов, я написал веб-приложение для собственной ежедневной работы. Проект получился довольно сложным: с динамичес…

refactoringии-агентыaiрефакторингразработка приложенийразработкаsoftware engineeringsoftware architectureбюджетcode review
Хабр — Управление
RU

Переезд с ESB на свой стек: что реально экономит бизнес

Разбираем систему управления транспортом — TMS.  Заказы приезжают из SAP, под них подбираются водитель и машина с учётом требований, рейс идёт…

миграцияESBWSO2рефакторингтехдолгинтеграция.NETархитектурастоимость разработкилегаси
Habr
RU

От хаоса к порядку: как управлять техдолгом

Сталкивались с проектами, где накопленный технический долг замедляет работу команды и усложняет развитие продукта? В этой статье Ирина – тимлид комп…

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

Ваш AI-агент не понимает код. Он просто очень уверенно угадывает — поэтому мы создали SLICER

AI-агенты отлично решают локальные задачи, но часто теряют связи между частями большой кодовой базы. Из-за этого изменение одной функции может незам…

AI-агентыстатический анализграф зависимостейPythonTypeScriptMCPcode reviewрефакторингfullstackdeveloper tools
Habr
RU

пошКОДим: как превратить React-компонент в неуправляемый комбайн — 15 вредных советов

На планировании оценивают задачу: «добавить бейдж VIP на карточку клиента». Разработчик открывает CustomerCard.tsx , молчит и говорит: «Дня три». Ни…

ReactTypeScriptGod Componentантипаттернырефакторингархитектура фронтендаcode reviewтестированиесложность кодадекомпозиция компонентов
Habr
RU

Как ИИ не дал загнуться ещё одной ноунейм игре. Даже текстовой

Третий год по вечерам в одиночку пилю текстовую MMORPG в Telegram. Мрачный остров, выжившие, ресурсы, базы, драки. Проект уже один раз почти умер. Т…

mmorpgtelegram botphpрефакторингнейросети в разработкеинди-разработкатестирование
Habr
RU

С++: Пиши, сокращай, оптимизируй

Попалась функция на языке С++. На её примере прям просится показать, что, делая рефакторинг, можно не только эстетично сократить код, но и оптимизир…

c++си++VibeTensoropen sourceвайб-кодингвайбкодингgenaiоптимизация кодарефакторингкрасота кода
Habr
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