Блог
140 статей о code review, анализе кода и разработке
Проверка кода Python: полный гайд для разработчика
Я помню, как в одном стартапе мы потратили две недели на дебаг production-проблемы, которая была видна статическому анализатору с первого взгляда. Просто никто
Анализ кода: от статического сканирования до автоматизации в CI/CD
Статический анализ кода — не просто проверка синтаксиса. Это систематическое изучение исходного кода без его запуска, которое ловит баги на этапе разработки, ко
Рефакторинг кода: как улучшить программу без переписывания с нуля
Рефакторинг — это когда ты переделываешь существующий код, не меняя его поведение. Звучит просто, но на практике это искусство. За 10 лет я видел, как рефактори
SonarQube: что это и когда он действительно нужен
SonarQube — это платформа для анализа качества кода. Звучит просто, но на самом деле она делает куда больше, чем кажется. Проверяет код на баги, уязвимости, дуб
Аудит кода: что это, зачем нужен и как его организовать в реальном проекте
Честно? Большинство команд говорят про аудит кода как про какое-то отвлечённое благое намерение. Мол, надо бы. А потом недельный спринт проходит, и до аудита ру
Анализ кода приложений: от теории к автоматизации в CI/CD
Когда я вижу, что разработчик пишет код без анализатора — это как смотреть на человека, который переходит дорогу с закрытыми глазами. Понимаю, что торопится, но
Автоматизация тестирования на Python: от unit-тестов к полному CI/CD
Когда я работал в Яндексе, мы писали тесты вручную, запускали их перед каждым коммитом и половину времени забывали. Результат? Боги знают сколько багов прошло в
Git merge request: что это, как создать и не облажаться с ревью
Если ты пишешь код в команде — merge request (или pull request на GitHub) это то, без чего не обойтись. Вроде просто: сделал ветку, отправил в репозиторий, попр
Системы автоматизации разработки программных систем: от теории к практике
Когда я работал в Яндексе, мы делали по 50+ деплоев в день. Без автоматизации это было бы невозможно. Просто физически. Теперь, когда консультирую стартапы, виж
Code Review: как организовать процесс, чтобы он работал, а не отнимал время
Давайте честно. Code review — это не просто формальность перед мержем кода. Это один из самых эффективных способов поймать баги до продакшена, передать знания в
Проверка кода программного обеспечения: от ручного review до полной автоматизации
Когда я только начинал в Яндексе, code review был простой — код смотрел тимлид перед продакшеном. Потом в стартапе мы наняли пятерых разработчиков и быстро поня
Автоматизация разработки программ: от локального коммита до production
Когда я только начинал в Яндексе, разработчик вручную запускал тесты, потом вручную выкладывал на боевой. Потом мы внедрили CI/CD — и вдруг оказалось, что можно
Оптимизация программного кода: от теории к реальным результатам
Знаешь, когда я ещё работал в Яндексе, мы однажды оптимизировали алгоритм поиска и выиграли 300 миллисекунд на обработку запроса. На миллион запросов в день это
Паттерны разработки и рефакторинга: как переписывать код и не сойти с ума
Рефакторинг — это когда ты меняешь код, но не меняешь его поведение. Звучит просто. На практике — это всегда боль. Особенно если проекту три года, авторы полови
SAST и DAST: чем отличаются и зачем вам оба инструмента в пайплайне
На одном проекте в 2019-м мы выкатили релиз в пятницу вечером. К понедельнику сервис взломали. SQL-инъекция через форму поиска — классика. Команда честно писала
Статистический анализ кода: от теории к практике внедрения в CI/CD
Говорю честно: большинство команд, с которыми я работал, обнаруживали проблемы в коде слишком поздно. На code review, в production, иногда в 2 часа ночи. А всег
SAST анализ: как находить уязвимости в коде автоматически
Каждый день выпускаются тысячи строк кода. Каждый день в этом коде остаются баги безопасности. Их не видно на первый взгляд — уязвимость может скрываться в одно
Рефакторинг кода по Фаулеру: практическое руководство для разработчиков
Когда я впервые прочитал "Refactoring" Мартина Фаулера, был 2019-й год. Я сидел в офисе Яндекса, смотрел на кодовую базу, которая копилась 10 лет, и понял: я де
Ревью кода 1: как не превратить review в головную боль
Давайте честно. Если вы ищете "ревью кода 1" — скорее всего, вы либо сталкиваетесь с задачами на собеседованиях, либо пытаетесь понять, как вообще организовать
Поиск багов: как найти то, что ломает твой код, пока это не сломало клиентам
Ты когда-нибудь заливал код в production и через 5 минут получал алерт? Или хуже — обнаруживал баг через неделю, когда его уже видели 10 000 пользователей? Я да
Качество кода Python: полный гайд от разработчика
Если ты пишешь код на Python, то наверняка сталкивался с ситуацией: вчера всё работало, сегодня тест упал, а послезавтра обнаружилась утечка памяти. Обидно, пра
Поиск бага: как находить ошибки, которые ломают продукт
Когда я работал в Яндексе, мы ежедневно сталкивались с багами, которые проскакивали мимо всех проверок. Помню один случай — в продакшене обвалилась часть сервис
Искусственный интеллект в разработке программного обеспечения: от кода до проверки
Помню, в 2020-м году, когда мне предложили посмотреть на GitHub Copilot на бете, я был скептичен. "Да что это может? Ещё одна игрушка для автодополнения". Прошл
Чистый код: анализ и рефакторинг в реальных проектах
Рефакторинг — это не то, что ты делаешь в выходной, когда скучно. Это систематическая работа, которая либо спасает проект, либо превращает его в болото. Я видел
GitLab API Merge Request: пошаговый гайд для разработчика
Merge request в GitLab — это не просто способ слить код в основную ветку. Это целая система для контроля качества, код-ревью и автоматизации. А если ты работаеш
Ревью кода: что проверять, как организовать, чем автоматизировать
Помню, в одном стартапе мы попробовали отменить code review. "Сэкономим время на разработку," — подумали. Через месяц половина багов в production приходила из p
Рефакторинг в программировании: что это, зачем он нужен и как не наломать дров
Рефакторинг — это переделка уже работающего кода без изменения его функциональности. Звучит просто? На деле это одна из самых важных и недооценённых практик в р
Anthropic AI Claude для разработки кода: от установки до интеграции в workflow
Когда я впервые попробовал Claude для code review, думал — ладно, очередной GPT с красивым интерфейсом. Но нет. Это был момент "ой, а это серьёзно работает". За
Semgrep: честный разбор статического анализатора для тех, кто устал от ложных срабатываний
Semgrep появился в моей практике года три назад. Тогда мы искали замену SonarQube — он работал, но жутко тормозил на больших репозиториях и постоянно выдавал ка
Как компания проводит анализ кода: полный гайд для тех, кто не хочет тонуть в багах
Примерно на третий год работы в Яндексе я понял одну вещь. Кодревью не работает. Точнее, работает, но не так, как мы хотим. Сеньоры устают находить одни и те же
Разработка оценки уязвимости: как не спустить баг в продакшен
Помню, как на одном проекте наша команда выпустила фичу с SQL-инъекцией. Не критичной, но достаточной, чтобы спецслужба соседнего стартапа смогла вытащить данны
Copilot AI Code: как автоматизация реально помогает разработчикам
Год назад я сидел на планёрке с тимлидом и услышал: "Может, подключим Copilot? На Хабре пишут, что крутая штука". На тот момент мы ещё ревьюили код вручную — см
CodeGPT и другие AI-ассистенты для разработки: что реально работает, а что нет
Три года назад я сидел на совещании в стартапе и слышал: "Скоро AI напишет весь код, разработчики не понадобятся". Сейчас, в 2024-м, я всё ещё пишу код. Но пишу
Рефакторинг кода по Роберту Мартину: как переписать код без багов
Я помню свой первый big refactor. Это было в 2015-м, в одном стартапе. Блок кода на Python из 300 строк, где всё переплетено со всем. Никто не знал, что там раб
Анализатор исходного кода: что реально работает, а что — трата времени
Примерно на третьем году работы в Яндексе я понял одну вещь. Кодревью — это боль. Ты тратишь часы на поиск забытых print(), забытых паролей в конфигах, кривых и
SonarQube Community: что это, как оно работает и когда вам его хватит
Я помню, как лет пять назад мы в одном проекте внедрили SonarQube. Казалось, что это спасение — автоматический анализ кода, все баги и уязвимости найдутся сами.
Codeium — нейросеть для кода, которую стоит попробовать в 2024 году
Пару лет назад я скептически относился к AI-ассистентам. Ну правда, зачем мне инструмент, который предлагает какой-то рандомный код? Но потом на одном проекте д
JetBrains AI Code: что умеет, как активировать и стоит ли переходить
Лет десять назад я бы посмеялся, если бы мне сказали, что IDE будет дописывать за меня код. Ну, типа автодополнение — это одно, а вот чтобы целые функции генери
Continue AI: как AI-ассистент превращает разработку в автопилот
Помню, когда GitHub Copilot только вышел, я закрыл его после пяти минут использования. Казалось, что это гениальный маркетинг, а на практике — угадайка, которая
Python linter: как настроить автоматический анализ кода и не сойти с ума
Столкнулся с ситуацией в одном проекте: команда из 8 человек писала код в разном стиле. Один использовал 4 пробела, другой — табы. Третий вообще забывал про typ
Проверка кода мобильных приложений: от первого коммита до продакшена
Когда я работал в одном стартапе, мы три месяца не делали code review. Просто сливали фичи в main, и если что-то падало — узнавали об этом от пользователей. Пот
SonarQube анализ кода: что умеет, где ломается и когда оно того стоит
Пять лет назад я разворачивал SonarQube на продакшн-проекте. Потратил неделю на конфигурацию, ещё две — на убирание тысяч false positives. Команда взвыла. Но че
Pull request review: как делать код-ревью и не сойти с ума
Давайте начнём с честного признания. Большинство команд делают code review неправильно. Либо формально — "approve, потому что дедлайн". Либо как показатель влас
Уровни автоматизации программирования: от ручного деплоя до полноценного CI/CD
В 2014 году я работал в команде из пяти человек. Деплой делали так: собирали jar-файл локально, заливали на сервер по FTP, перезапускали Tomcat руками. Один раз
GitLab SAST: как автоматизировать поиск уязвимостей в коде
Когда я работал в одном стартапе, мы два месяца искали SQL-injection в production. Нашли случайно. Если бы тогда у нас была нормальная автоматизация безопасност
SonarQube в Docker: как поднять и не пожалеть
На прошлом проекте мы внедряли SonarQube. Подняли в Docker, настроили, интегрировали в пайплайн. Первые две недели команда была в восторге — столько багов наход
Рефакторинг кода: методы, которые спасают проекты от ада
Рефакторинг — это то, что отличает живые проекты от кода-зомби. Не визуальный апгрейд, а реальная переработка логики и структуры без изменения функциональности.
Анализ кода в Visual Studio: от встроенных инструментов до автоматизации в CI/CD
Помню, когда я только начинал в Яндексе, мы ревьювили код вручную. Полностью. Глазами. Каждую строку. Результат? Багов хватало, время уходило в пустоту, люди вы
Линтер кода: зачем он нужен, если я и так всё проверяю
Давайте честно. Сколько раз вы говорили себе «ща быстро гляну и запушу» — а потом три часа дебажили опечатку в проде? Вот я тоже. Лет десять назад думал, что вн
Рефакторинг JavaScript: как переписывать код и не сойти с ума
Знаете это чувство, когда открываешь файл, который писал год назад? Сначала непонимание. Потом стыд. Потом хочется всё удалить и написать заново. Знакомо? Это н
Snyk Code: что умеет, где ломается и когда есть смысл искать альтернативу
Лет пять назад Snyk был просто удобным сканером зависимостей. Подключил репозиторий, получил список уязвимых пакетов, обновил версии — profit. Потом они купили
Python рефакторинг: как переписывать код и не сойти с ума
Рефакторинг — это когда ты меняешь код, но не меняешь его поведение. Звучит просто. На практике это боль, страдания и ночные деплои, потому что "ну тут же одна
Рефакторинг программного обеспечения: как переписывать код и не сойти с ума
Код гниёт. Это факт, с которым рано или поздно сталкивается каждый разработчик. Проект начинается с чистой архитектуры и понятной структурой, а через полгода ты
SAST инструмент — как автоматизировать поиск уязвимостей прямо в коде
Когда я работал в одном стартапе, мы обнаружили SQL-injection в production через неделю после релиза. Нашли его в логах — злоумышленник уже был внутри базы. Сто
SAST и SCA: как ловить уязвимости до production
Меня часто спрашивают: "Алексей, у нас же есть code review, зачем нам ещё SAST?" И я всегда отвечаю одно — потому что человек пропустит. Гарантированно. На одно
Анализ исходного кода на уязвимость: от ручного code review до автоматизации в CI/CD
Пару лет назад на одном проекте мы словили утечку данных через SQL-инъекцию. Классика. Параметр из формы просто подставлялся в запрос без санитизации. Разработч
Source Code Review: как организовать процесс, чтобы он работал
Знаешь, когда я работал в стартапе, у нас была такая ситуация: разработчик пушит код, три дня его никто не смотрит, потом приходят комментарии "переделай", и во
Java рефакторинг: как привести код в порядок, не сломав функциональность
Я начал писать код на Java в 2014 году. Помню первый проект в стартапе — кодовая база из 50 тысяч строк, которую касалось человек пять. Каждый добавлял своё, пе
SAST тестирование: как автоматизировать поиск уязвимостей в коде
Статья для тех, кто устал от того, что баги безопасности находят в продакшене, а не в разработке. SAST — это не просто очередной инструмент. Это способ ловить п
SonarQube в GitLab: настройка, плюсы и минусы, когда выбрать альтернативы
Если ты работаешь с GitLab и думаешь о code review — SonarQube всплывает в первые 5 минут гугления. Это популярно, известно, у многих уже настроено. Но на деле
Программа рефакторинга: как переписать код и не потерять голову
Каждый разработчик рано или поздно встречается с кодом, который нужно переделать. Не потому что он не работает, а потому что работает плохо — медленно, неудобно
SonarQube для Java: честный разбор, кому это нужно и когда можно обойтись без него
Я уже лет пять вижу SonarQube в бэклоге почти каждого крупного проекта, на котором работал. "Внедрим качество кода", — говорят. Потом бот начинает ругаться на к
Рефакторинг кода: как переделать старое и не сломать новое
Рефакторинг — это не про переписывание всего с нуля. Это про улучшение внутренней структуры кода без изменения его поведения. Звучит просто? На деле это одна из
DAST анализ кода: как найти уязвимости, которые статика не видит
На одном проекте мы полгода гоняли SAST в пайплайне. Зелёные галочки, чистый код, всё красиво. Потом пен-тестеры за час нашли SQL-инъекцию в API. Статический ан
Проведение code review: как не превратить ревью в караул
Десять лет назад я думал, что code review — это когда сеньор смотрит на твой код и говорит, что ты неправ. Потом работал в Яндексе, в стартапах, руководил коман
SAST-сканеры: как автоматизировать поиск уязвимостей в коде и не сойти с ума
На одном проекте мы ловили баг безопасности вручную. Три сеньора, четыре часа code review, пропустили SQL-инъекцию через ORM. Она ушла в прод. Потом неделю чини
Code linters: почему ваш код всё ещё падает на ревью и как это исправить
Прошлый год. Понедельник. Утро. Открываю MR — там 47 комментариев. Утечка памяти, неиспользуемые переменные, забытые console.log. И это от опытного разработчика
CodeRabbit: честный разбор AI-ревьюера для Git
На один из наших проектов в 2023 году мы внедрили CodeRabbit. Команда из 12 человек, микросервисы на Go и Python, порядка 50 пул-реквестов в неделю. Ревью отним
AI для проверки Python-кода: как автоматизировать code review
Python — язык, который пишут все. Джуниоры, сеньоры, ML-инженеры, дата-аналитики. И каждый пишет по-своему. Если не поставить барьер на входе, в репозитории нач
SonarQube для 1C BSL: честный обзор и сравнение с реальными альтернативами
Я долго сопротивлялся написанию этой статьи. Потому что честный разговор про SonarQube и BSL — это не про восторги, а про компромиссы. Но именно это нужно знать
Ошибки линтера: почему они срабатывают неправильно и как это исправить
Звенит уведомление в Slack. Линтер снова навалил замечаний в PR. Половина — абсолютно бесполезные. Остальные — упустил очевидный баг. Знакомо?
Автоматизация тестирования на Java: от курсов до продакшена
Лет пять назад я собеседовал кандидата после курсов. Резюме красивое: "яндекс практикум автоматизация тестирования на java", сертификат, проекты в портфолио. Сп
Автоматизация тестирования JavaScript: от хаоса к стабильному пайплайну
Помню свой первый серьёзный проект на JavaScript. Спринт, дедлайн, деплой в пятницу вечером. Что могло пойти не так? Правильно — всё. Откатывали продакшн в час
Codacy для code review: честный разбор после года использования
На одном проекте в 2022 году мы внедрили Codacy. Потом я ушёл на другой проект, где его не было. Через год вернулся — и понял, что часть проблем никуда не делас
Create merge request GitLab: полный гайд с шаблонами и автоматизацией
Два часа ночи. Закончил фичу, хочу спать. Открываю GitLab, чтобы создать merge request — и в очередной раз вручную заполняю поля, пишу описание, назначаю ревьюе
Линтеры Go: полный гайд по статическому анализу кода
Если ты работаешь с Go, то рано или поздно сталкиваешься с вопросом: как гарантировать качество кода, когда в команде десять разработчиков, каждый со своим стил
Qodana: что это, как работает и стоит ли переходить на альтернативы
Qodana — это статический анализатор кода от JetBrains. По сути, это их IDE-интеллект, упакованный в CLI-инструмент и облако. Анализирует проект перед коммитом,
Настройка SonarQube: полный гайд от установки до первого скана
SonarQube — это серьёзный инструмент. Если ты решил его внедрить, то уже понимаешь, что просто "добавить проверку кода" недостаточно. Нужна правильная настройка
SAST купить: как не потратить бюджет впустую и реально защитить код
Захотелось купить SAST? Понимаю. Безопасность кода — это та самая задача, которую все откладывают до первого инцидента. А потом бегают и тушат пожары.
SonarQube check: разбираем инструмент code review по полной
Когда-то я работал на проекте, где code review делал вручную. Тысячи строк кода, а я ищу потерянные null-checks и нарушения стиля. Через месяц понял: нужен авто
SonarQube + GitHub: как настроить качество кода и не сойти с ума
SonarQube уже лет пять как перестал быть экзотикой. Если у тебя есть GitHub и больше трёх разработчиков, то рано или поздно возникает вопрос: "А как нам следить
SonarQube Scanner: что это и когда он вам вообще нужен
Знаешь, я давно работаю с code review, и SonarQube Scanner — один из тех инструментов, которые все знают, но не все понимают, зачем они нужны. Давай разберёмся
SonarQube скачать: как установить и не пожалеть через неделю
Честно? Когда меня спрашивают про SonarQube, я всегда уточняю: а сколько у вас разработчиков? И что именно вы хотите ловить? Потому что "скачать SonarQube" — эт
SonarQube (Sonar): что умеет, где ломается и когда стоит брать
Когда я впервые столкнулся с SonarQube — это был 2016 год, проект на Java, и мы думали, что качество кода у нас отличное. Спойлер: не отличное. Sonar показал на
Установка SonarQube: полный гайд от настройки БД до первого анализа кода
SonarQube — это то, на что смотрят все, когда нужен серьёзный инструмент для анализа кода. Платформа сканирует исходники, ловит баги, уязвимости, дублирование к
Что такое линтер в программировании и зачем он вообще нужен
Линтер — это инструмент, который анализирует код и ловит ошибки до того, как они попадут в production. Звучит скучно? На самом деле это одна из самых полезных в
Golang linter: как настроить статический анализ кода правильно
Если ты работаешь на Go, рано или поздно встанет вопрос: как уловить баги и проблемы в коде до того, как они попадут в production? Ручная проверка на code revie
Линтеры Python: что это и зачем они нужны разработчику
Линтер — это программа, которая ищет ошибки в коде, не запуская его. Звучит просто? На деле это один из самых недооцененных инструментов в Python-разработке. Бо
Org SonarQube: что это и зачем разработчикам?
Несколько лет назад я натыкался на ситуацию, когда в проекте никто не отслеживал качество кода. Сначала казалось, что всё под контролем — code review существует
Практики code review: как организовать процесс, чтобы он работал
Помню, первые code review в команде были кошмаром. Разработчик выложит код — ждёт три дня. Потом приходит комментарий "переделай". Не ясно, что не так. Ещё два
SAST анализатор: как поймать уязвимость до того, как её найдёт кто-то другой
На одном проекте мы узнали об SQL-инъекции, когда логи начали показывать странные запросы к базе. Кто-то уже неделю тыкал в нашу форму авторизации. Код прошёл c
SAST приложений: как ловить уязвимости прямо в коде
Если ты думаешь, что security это забота тестировщиков — забудь. Половина уязвимостей проскакивает мимо всех потому что их ищут в конце процесса разработки. А и
SAST проверка: как найти уязвимости в коде до боевого сервера
Когда я работал в Яндексе, мы один раз обнаружили SQL injection в production коде через логи. Ребята потратили ночь на фиксинг. Если бы у них была SAST проверка
SAST решений обзор: как найти уязвимости до того, как их найдёт кто-то другой
Лет пять назад я был на code review. Обычный MR, казалось бы — добавили фичу авторизации через SMS. Я глянул, одобрил. Через месяц у нас украли базу клиентов че
Semgrep + GitHub: настройка, возможности и честное сравнение с альтернативами
Когда речь заходит о статическом анализе кода в GitHub, Semgrep всплывает одним из первых. Инструмент с открытым ядром, гибкие правила, бесплатный tier — звучит
SonarQube API: что умеет, где пригождается и когда начинает раздражать
SonarQube API — это REST-интерфейс для автоматизации работы со статическим анализатором кода. Через него можно запускать анализы, дергать метрики качества, упра
SonarQube branch analysis: как анализировать ветки без переплаты за лицензию
В Community Edition SonarQube нет анализа веток. Вообще. Хотите знать, что сломалось в feature-ветке до мёрджа — платите за Developer Edition. Минимум 15 тысяч
SonarQube версии: что выбрать и есть ли смысл платить
На одном проекте мы внедряли SonarQube. Поставили Community Edition — бесплатно же. Через полгода команда из 15 человек поняла: что-то не так. PR висят по два д
SonarQube версии: как выбрать подходящую и не закопаться
Когда я начал работать с SonarQube, первое, с чем столкнулся — это выбор версии. Community Edition, Developer Edition, Enterprise... Казалось бы, просто скачай
VSCode Linter: какой выбрать и как не утонуть в конфигах
На прошлой неделе ко мне заёл коллега — джун, который третий час пытался настроить ESLint в проекте. "Оно не работает, и я не понимаю почему". Проблема оказалас
Как удалить pull request в GitHub: полный гайд для разработчика
Вы когда-нибудь создавали PR и потом думали: "Боже, зачем я это запушил?" Я — да. Несколько раз. Удалять PR в GitHub на самом деле просто, но есть нюансы, котор
Как сделать рефакторинг кода и не сломать продакшен
Код стареет. Это факт. То, что три года назад казалось элегантным решением, сегодня выглядит как спагетти, которые невозможно размотать. И в какой-то момент ты
DeepSource: что это за инструмент и стоит ли он 50 баксов в месяц
DeepSource — это сервис автоматического анализа кода, который сидит на GitHub/GitLab и ловит баги, уязвимости и проблемы со стилем. Звучит как тысяча других инс
GitHub Pull Requests и Issues: полный гайд для команды разработчиков
Если ты работаешь в команде, то знаешь: GitHub Pull Requests и Issues — это не просто фичи платформы. Это основа всего процесса. Через них проходит код, идеи, б
GitLab и Semgrep: как интегрировать статический анализ в CI/CD
Когда я впервые настраивал SAST в GitLab, потратил полтора дня на то, чтобы понять разницу между встроенным анализом и Semgrep. Сейчас видел десятки проектов, к
Jenkins и SonarQube: как настроить и когда это имеет смысл
Много раз видел в проектах ситуацию: купили Jenkins, потом SonarQube, интегрировали, все работает, но толку? Нулевой. Потому что настроили не правильно или выбр
Ошибка безопасности в коде: как её найти и не допустить снова
Слышу часто: "У нас есть SecurityLab, проверяем код вручную". Потом выясняется, что проверяет его один человек в спешке, перед релизом, и половину уязвимостей п
SAST для Python: как ловить уязвимости до production
Статический анализ безопасности кода (Static Application Security Testing, SAST) — это не просто очередная галочка в чек-листе DevOps. Это реально спасает жопу,
SonarQube: как скачать, установить и понять, нужен ли он вашей команде
Честно? Когда я первый раз встретился с SonarQube, это был просто ещё один инструмент в бесконечной цепочке DevOps-утилит. Но потом пришлось его реально использ
SonarQube for IDE: честный разбор, стоит ли связываться
Десять лет назад я думал, что статический анализ — это для параноиков. Потом на одном проекте пролезли в прод SQL-инъекцию через unchecked input. Баг обошёлся к
SonarQube HTTPS: настраиваем, сравниваем, выбираем альтернативы
Когда поднимаешь SonarQube в продакшене, первый вопрос — безопасность. HTTP оставлять нельзя, логины-пароли летят открытым текстом. Значит, нужен HTTPS. И вот т
SonarQube: полная инструкция по установке и когда это вообще нужно
Когда я впервые настраивал SonarQube на проекте в Яндексе, потратил полдня на то, чтобы понять, где искать конфиги и почему анализ висит на одном потоке. С тех
SonarQube Server: что это и нужен ли он вашей команде на самом деле
SonarQube — это платформа для анализа качества кода. Звучит просто? На деле это сложный зверь с кучей настроек, лицензирования и подводных камней. Я ставил его
SonarQube: что это, как работает и стоит ли оно того
Когда я пришел в стартап три года назад, первое, что услышал от техлида: "Код у нас на SonarQube лежит". Я подумал, что это волшебная палочка, которая сама найд
Сравнительный анализ систем автоматизации тестирования мобильных приложений
Если ты разрабатываешь мобильные приложения, ты знаешь эту боль: каждый релиз — это несколько дней ручного тестирования на разных устройствах, версиях ОС, экран
Тестирование, контроль и оптимизация кода Java: пошаговый гайд для тех, кто устал от багов в проде
Java — язык с кучей инструментов для качества кода. Проблема в том, что их слишком много. JUnit, Mockito, SpotBugs, PMD, Checkstyle, SonarQube... Голова кругом.
CodeClimate: честный разбор инструмента и его альтернатив
На одном проекте в 2019 году мы внедрили CodeClimate. Потом ещё на двух. За четыре года я видел его в работе с разных сторон — и как разработчик, и как техлид.
Java linter: как автоматизировать проверку кода и не потерять ночной сон
Когда я только начинал в Яндексе, code review занимали часа два на каждый PR. Половину замечаний можно было бы автоматизировать. Глупо, правда? Сидишь, вручную
Линтеры Java: полный гайд по статическому анализу кода
Когда я только начинал работать с Java, код review был адским. Люди сидели часами и смотрели на экран, ловя потенциальные баги, проблемы с производительностью,
Правила Semgrep: как писать, где брать и когда это вообще нужно
Semgrep — это статический анализатор кода с человеческим лицом. В отличие от классических линтеров, он понимает структуру кода, а не просто гоняется по регулярк
SAST сканирование: как ловить уязвимости в коде до боевого сервера
Я работал в компании, где один junior закоммитил SQL-инъекцию прямо в production. Утром пришёл alert, днём уже была инцидент-постмортем. Мог бы не быть, если бы
Semgrep dev: когда нужен контроль, а не просто галочка
На одном проекте у нас был код-ревью, который длился по три дня. Не потому что код сложный — просто младшие разработчики каждый раз наступали на одни и те же гр
Semgrep SAST: как настроить статический анализ безопасности без боли и страданий
На одном проекте мы словили SQL-инъекцию в продакшене. Классика — параметр из запроса без санитизации ушёл в query. Код прошёл ревью у двух сеньоров. Никто не з
SonarQube coverage: как на самом деле работает покрытие кода и есть ли смысл его внедрять
Покрытие кода тестами — одна из тех метрик, которые все считают важными, но мало кто понимает, как правильно её использовать. SonarQube coverage — это, пожалуй,
SonarQube для Python: честный разбор после трёх лет эксплуатации
Когда меня спрашивают про статический анализ Python-кода, SonarQube всплывает в разговоре одним из первых. Это как MongoDB в начале десятых — все знают, все хот
SonarQube rules: что нужно знать перед внедрением и есть ли альтернативы
На одном проекте мы внедряли SonarQube. Два дня настраивали, ещё неделю разбирались, почему половина правил не работает так, как ожидали. Спойлер: проблема была
SonarQube SAST: Как на самом деле строить защиту кода
На одном проекте мы нашли SQL-инъекцию через год после того, как она попала в продакшн. Классика — никто не делал code review с точки зрения безопасности, все с
Gitea и SonarQube: как подружить лёгкий Git-сервер с анализом кода
Self-hosted инфраструктура — это всегда компромисс. Хочешь контроль — получаешь головную боль с настройкой. Gitea в этом плане радует: поставил, настроил, забыл
Второй уровень автоматизации программирования: от ручной проверки кода к полностью автоматизированному процессу
Знаешь, что самое странное? Большинство разработчиков внедрили CI/CD, но останавливаются ровно там, где начинается интересное. Первый уровень — это просто запус
Динамический анализ кода: как он работает и почему статический недостаточно
Честно? Большинство команд думают, что запустить linter и отправить код на ревью — это достаточно. А потом в продакшене находятся баги, которые анализаторы не п
Kling AI referal code: как работает и зачем он разработчику
Kling — это генеративная AI модель для создания видео. Звучит далеко от программирования, но вот парадокс: половина разработчиков, которые со мной обсуждают AI
Merge request в GitLab: как открыть и не стрелять себе в ногу
Десять лет назад я думал, что MR — это просто нажать кнопку и ждать аппрува. Наивный. За годы в Яндексе и стартапах я насмотрелся на всё: от MR на 5000 строк бе
Semgrep download: как установить и не пожалеть
Честно? Когда в первый раз столкнулся с Semgrep, думал — очередная поделка на коленке. Очередной линтер с громкими заявлениями. Но потом на одном проекте мы вне
Аналоги SonarQube: что выбрать, если классика уже не устраивает
SonarQube де-факто стандарт в статическом анализе. Если вы работаете в энтерпрайзе, то скорее всего уже видели его дашборды с цветными квадратиками. Но в 2024 г
SonarQube и дефолтные пароли: как это работает и почему это проблема
Стартовал я с SonarQube лет пять назад в одном стартапе. Поднял инстанс, забыл про пароль — и только потом понял, что это потенциальная уязвимость. Давайте разб
SonarQube и IntelliJ IDEA: как выбрать между локальным анализом и централизованной системой
Каждый разработчик знает эту ситуацию: пишешь код, коммитишь, а потом PR падает на review с замечаниями о стиле, уязвимостях или дублированием. Обидно. Особенно
SonarQube: компания и инструмент, которые изменили подход к качеству кода
В 2012 году я впервые увидел SonarQube в продакшене. Тогда это было похоже на магию — сидишь, пишешь код, а тебе прилетает отчёт: "эта функция слишком сложная,
SonarQube MCP: что это такое и стоит ли связываться
На днях столкнулся с SonarQube MCP в одном проекте. Команда внедряла Model Context Protocol для интеграции SonarQube с AI-ассистентами. Интересная штука, но с н
SonarQube покрытие кода комментариями: как метрика работает на практике и что с ней не так
На одном проекте мы как-то спорили с тимлидом. Он требовал минимум 30% покрытия кода комментариями — SonarQube показывал 12%, и его это бесило. Я открыл топовый
SonarQube Report: как на самом деле работает и когда его хватает
Слышал от одного тимлида: "Мы платим за SonarQube, но половина команды игнорирует его рекомендации". Проблема не в самом SonarQube. Проблема в том, что люди не
