CodeClone 2.0: структурное ревью Python-кода для CI, IDE и AI-агентов

Когда я начинал CodeClone, это был довольно понятный инструмент: найти структурные клоны в Python-коде и не дать им незаметно расползаться по проекту. Сейчас вышел CodeClone 2.0.0, и это уже другой продукт. Не “ещё один линтер”, не попытка заменить Ruff, mypy, pytest, Bandit или Semgrep, а отдельный слой ревью: он смотрит на структуру Python-кода, отделяет старый технический долг от новых регрессий, связывает находки с покрытием тестами и дает одну и ту же картину в CLI, HTML-отчете, GitHub Actions, VS Code, Claude Desktop, Codex и через MCP. Эта статья не про список флагов CLI. Про флаги есть документация. Здесь я хочу рассказать, во что CodeClone вырос как продукт и зачем вообще нужен такой класс инструмента сейчас, когда разработка всё заметнее смещается в сторону AI-агентов.

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

#python #code_review #code_review_ai #quality_gates #ai_agents #static_analysis #test_coverage

CodeClone 2.0: структурное ревью Python-кода для CI, IDE и AI-агентов

Когда я начинал CodeClone, это был довольно понятный инструмент: найти структурные клоны в Python-коде и не дать им незаметно расползаться по проекту. Сейчас вышел CodeClone 2.0.0, и это уже другой...

Хабр

Как мы написали UI-тесты для ИИ-агента внутри JetBrains IDE

Как проверить, что ИИ-агент в IDE работает, если на одинаковые запросы LLM отвечает по-разному? Ответы модели недетерминированы, а интерфейс и бизнес-логика вполне детерминированы, и их нужно тестировать отдельно. Мы делаем ИИ-агента, встраиваемого в JetBrains IDE. В статье расскажу, как мы выстроили UI-автоматизацию плагина так, чтобы тесты ловили регрессии в интерфейсе, бизнес-логике и при этом не «моргали» из-за нестабильности LLM. Тааак, падажжи

https://habr.com/ru/companies/veai/articles/1028756/

#veai #тестирование #ide #intellij_idea_plugin #плагин_ide #quality_gates #kotlin #intellij_platform #aiagent #ииагент

Как мы написали UI-тесты для ИИ-агента внутри JetBrains IDE

Как проверить, что ИИ-агент в IDE работает, если на одинаковые запросы LLM отвечает по-разному? Ответы модели недетерминированы, а интерфейс и бизнес-логика вполне детерминированы, и их нужно...

Хабр

Цена контекста в агентной разработке: почему bottleneck — не код, а внимание человека

Пока diff небольшой, в нас просыпается хранитель инженерной чистоты: мы спорим о нейминге, замечаем лишний пробел, обсуждаем, стоило ли выносить логику в helper , но когда правка разрастается до тысяч строк, строгость уступает другому подходу: CI зелёный, тесты прошли, код выглядит вроде неплохо - можно жать Approve . С coding-агентами проблема становится более системной. Пока задача небольшая и хорошо ограничена, результат ещё можно напрямую соотнести с исходным запросом, но при асинхронной и мультиагентной работе у каждого из агентов появляются собственные подзадачи, гипотезы и хвосты незавершённых решений. Поэтому, возвращаясь в процесс, человек проверяет уже не изолированные изменения, а заново восстанавливает состояние задачи - что именно было задумано, что уже проверено, какие инварианты теперь считаются действующими и где остался риск. И именно здесь ломается наивный human-in-the-loop , а большой diff - является лишь симптомом. Настоящее узкое место - стоимость повторного входа в контекст: формально человек остаётся в процессе, но фактически его роль всё чаще сводится к механическому одобрению, в свою очередь дефицитом становится не машинная производительность, а человеческое внимание. В прошлой статье о контекстной инженерии для coding-агентов я писал о памяти агента. Здесь - о том, какая память и какие механизмы контроля нужны уже человеку.

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

#мультиагентная_разработка #ИИагенты #agentic_AI #code_review #context_switching #humanintheloop #quality_gates #контекстная_инженерия #AIassisted_development

Цена контекста в агентной разработке: почему bottleneck — не код, а внимание человека

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

Хабр

Quality gates — твои бро. Инструментальный контроль стандарта разработки

Ну и что делать, если в вашей компании — несколько тысяч программистов, сотни команд и десятки стримов? И вам нужно… Нет, не нужно — жизненно необходимо, чтобы они все работали как единый, отлаженный, настроенный механизм. Разработка в Газпромбанке — это процесс, в котором задействовано более 3500 инженеров, пять департаментов, 59 стримов и 200+ кросс-функциональных команд. При этом был период, когда наши команды создавали ПО разрозненно, стандарта разработки не было, практики и технологии у всех свои. Велосипеды, как в анекдоте, были у всех, но ездили по-разному. Билды проходили тесты, которые не должны были пройти, и возвращались «на доработку» едва ли не перед запланированным релизом. Что же делать, как же быть? Да. Нужен стандарт. И нужны автоматизированные средства поддержки стандарта. Нам не подошли ни одни из существующих Quality Gates — мы сформировали собственный набор практик проверки качества продукта (билда, сборки — всего того, чему требуется многоуровневое тестирование). Теперь у нас выросшая в семь раз частота деплоев и шикарные фильтры, построенные на тестах. Почему мы не купили готовое решение? Что сделали? Как? Расскажем.

https://habr.com/ru/companies/gazprombank/articles/951448/

#банк #разработка #quality_gates #автоматизация #проект #команда

Quality gates — твои бро. Инструментальный контроль стандарта разработки

Ну и что делать, если в вашей компании — несколько тысяч программистов, сотни команд и десятки стримов? И вам нужно… Нет, не нужно — жизненно необходимо, чтобы они все работали как единый, отлаженный,...

Хабр

DevSecOps без иллюзий: строим безопасный цикл разработки на чужих ошибках

Сегодня поговорим о том, что многие делают, но мало кто делает правильно — о безопасной разработке и DevSecOps. Для этого мы пригласили Романа Гаголушко, руководителя отдела консалтинга безопасной разработки в Бастионе. Передаем ему слово. Небольшой дисклеймер. За годы работы в сфере безопасности разработки я насмотрелся: — на вопиющие случаи игнорирования базовых принципов безопасности (и не только при разработке); — на неэффективные попытки внедрения Dev «Sec» Ops; — на откровенную и безрезультатную имитацию бурной деятельности; — на такую же безрезультатную трату бюджета при закупке неподходящих инструментов анализа кода; — на безразличие; — на нежелание видеть очевидные вещи; — на непонимание ИБ и БР со стороны разработки. В этой статье я расскажу о типичных ошибках компаний, которые совершают все (от маленьких и не очень стартапов до больших и не очень корпораций), поделюсь практическими советами по организации процессов безопасной разработки. Напоследок расскажу, как обстоят дела с регулированием, и немного поговорю о трендах.

https://habr.com/ru/companies/bastion/articles/919274/

#devsecops #безопасная_разработка #информационная_безопасность #управление_проектами #разработка_приложений #контроль_качества #quality_gates #DevSecOps_as_a_Service

DevSecOps без иллюзий: строим безопасный цикл разработки на чужих ошибках

Сегодня поговорим о том, что многие делают, но мало кто делает правильно — о безопасной разработке и DevSecOps. Для этого мы пригласили Романа Гаголушко, руководителя отдела консалтинга безопасной...

Хабр

Detekt: как статический анализ помогает улучшить код автотестов

Есть такое мнение, что качество кода автотестов не так важно в сравнении с основной кодовой базой. Однако это тоже код, который приходится поддерживать с соответствующими накладными расходами. Если не следить за его качеством, то и тут могут возникать проблемы. И у каждой ошибки есть своя цена. Было бы здорово, если бы о них можно было узнать как можно быстрее и без привлечения лишних ресурсов. Это может касаться как простых ошибок, на которые не хочется тратить время специалистов, так и неочевидных ошибок, у которых иногда непросто определить причину. Меня зовут Николай, и я инженер в мобильной платформенной команде Яндекс Еды. В этой статье я расскажу, как мы повышаем качество кода автотестов Android-приложения. И в этом нам помогает статический анализ.

https://habr.com/ru/companies/yandex/articles/779152/

#detekt #static_analysis #static_code_analysis #quality_gates #kotlin #android #kaspresso #marathon #allure #тестирование

Detekt: как статический анализ помогает улучшить код автотестов

Есть такое мнение, что качество кода автотестов не так важно в сравнении с основной кодовой базой. Однако это тоже код, который приходится поддерживать с соответствующими накладными расходами. Если...

Хабр