Как стать автором
Обновить

SonarQube. Проверяем код на качество

Время на прочтение 2 мин
Количество просмотров 85K
PHP *IT-стандарты *


SonarQube — платформа для проверки кода на качество по правилам, основанным на соглашениях и стандартах. Поддерживает более 20 различных языков программирования.

Вот здесь можно посмотреть все эти правила.

Хочу поделиться небольшим руководством, как подружить sonarQube, PhpStorm и ваш проект. Все действия описаны для Windows, но все так же настраивается и под другую ОС.
Читать дальше →
Всего голосов 14: ↑13 и ↓1 +12
Комментарии 6

Внедрение веб консолей в jvm процесс на примере SonarQube

Время на прочтение 5 мин
Количество просмотров 11K
Разработка веб-сайтов *Open source *Java *
Туториал
По аналогии с примером из этой статьи, вы сможете внедрить консоль hawtio в свое jvm приложение без его пересборки и перекомпиляции. А также в случае с DEV/QA хостами внедрить в java процесс SQL веб консоль из проекта H2


Скринкасты, описание процесса и краткий обзор компонент...
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 0

Контролируем качество кода с помощью платформы SonarQube

Время на прочтение 17 мин
Количество просмотров 54K
Блог компании PVS-Studio Управление разработкой *Управление проектами *

Picture 50


В этой статье мы рассмотрим основные возможности SonarQube — платформы для непрерывного анализа и измерения качества кода, а также обсудим достоинства методики оценки качества кода на основе метрик SonarQube.
Читать дальше →
Всего голосов 26: ↑24 и ↓2 +22
Комментарии 5

Проверяем проект PascalABC.NET с помощью плагинов для SonarQube: SonarC# и PVS-Studio

Время на прочтение 30 мин
Количество просмотров 6.3K
Блог компании PVS-Studio .NET *Visual Studio *C# *Разработка под Windows *

Picture 30

В ноябре прошлого года в нашем блоге была опубликована статья о разработке и использовании плагина PVS-Studio для SonarQube. Мы получили много откликов от клиентов и просто заинтересованных пользователей с просьбами провести тестирование плагина на реальном проекте. Так как интерес к этому вопросу не ослабевает, было решено провести тестирование на C# проекте PascalABC.NET. Также не будем забывать, что SonarQube содержит собственный статический анализатор C# кода — SonarC#. Для полноты картины проведем исследование и SonarC#. Целью данной работы является не сравнение анализаторов, а показ основных особенностей их взаимодействия с сервисом SonarQube. Прямое сравнение анализаторов было бы не вполне корректным по той причине, что PVS-Studio является специализированным инструментом поиска ошибок и потенциальных уязвимостей, в то время как SonarQube — это сервис оценки качества кода по большому числу параметров: дублирование кода, соблюдение стандартов кодирования, покрытие кода модульными тестами, возможные ошибки в коде, плотность комментариев в коде, технический долг и т.д.
Читать дальше →
Всего голосов 30: ↑28 и ↓2 +26
Комментарии 1

Как перешагнуть через legacy и начать использовать статический анализ кода

Время на прочтение 8 мин
Количество просмотров 7.2K
Блог компании PVS-Studio Visual Studio *Разработка под Linux *Разработка под Windows *


Проблемы legacy-кода знакомы подавляющему большинству разработчиков программного обеспечения. Процесс превращения кода в legacy неизбежен, ведь прогресс в программировании не стоит на месте. Проекты либо «умирают» навсегда, либо требуют постоянной поддержки и написания новых функций. Таким образом, в любом проекте на любом языке программирования legacy-код возникает и доставляет разные неудобства при дальнейшей разработке. На примере PVS-Studio, в этой статье я расскажу, как сразу начать использовать статический анализатор кода в своём проекте.
Читать дальше →
Всего голосов 27: ↑21 и ↓6 +15
Комментарии 17

Внедрение code style в существующий проект

Время на прочтение 6 мин
Количество просмотров 11K
Блог компании ZeroTech Разработка веб-сайтов *Программирование *Совершенный код *IT-стандарты *

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


В нашем случае всё не так просто. Проект, над которым мы работаем, начал свою жизнь ещё до того, как различным стандартам и описаниям лучших практик в среде разработки стали уделять большое внимание. В том числе, задолго до появления столь популярных ныне PSR стандартов для PHP. По этим причинам задача стандартизации кода не ставилась на более ранних этапах, а теперь – предстала нашей команде в качестве вызова.


В этой публикации мы расскажем о том, как пришли к пониманию необходимости единого code style, и выработали методы его постепенного внедрения в масштабный проект. Этот опыт может быть интересен тем, кто пока не использует стандартизацию, но уже ощущает в этом потребность.

Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 8

Как мы контролируем качество кода в Браузере для Android. Лекция Яндекса

Время на прочтение 11 мин
Количество просмотров 13K
Блог компании Яндекс Open source *Совершенный код *Разработка под Android *Тестирование мобильных приложений *
Автор этой лекции — Константин Заикин kzaikin, руководитель группы разработки Яндекс.Браузера для Android в Санкт-Петербурге. Он рассказал об инструментах Android-разработчика и всей команды, а также о том, как справляться с legacy-кодом, публиковать большой проект вовремя и улучшать качество кода.


— Друзья, привет. Я очень рад, что вас так много сегодня пришло. Я приехал из Питера, в Яндексе работаю около шести лет. Успел засветиться в Картах, Такси, Метрике и Поиске. Уже два года я работаю над Яндекс.Браузером для Android.

Всего голосов 48: ↑43 и ↓5 +38
Комментарии 23

Советы по созданию современного Android-приложения. Лекция Яндекса

Время на прочтение 18 мин
Количество просмотров 24K
Блог компании Яндекс Разработка мобильных приложений *Разработка под Android *
Мы продолжаем публиковать материалы Школы мобильной разработки 2017 года. На очереди — большая лекция Android-разработчика Дмитрия Никитина из команды Яндекс.Почты. Дмитрий рассказывает, как подойти к созданию проекта с нуля, не потеряться среди множества библиотек и на что обратить внимание при выборе того или иного решения.


— Все вы как минимум пару месяцев программируете под Android. Возможно, кто-то программирует пару лет и уже от корки до корки прочитал developer.android.com. А возможно, нет. Но вы все наверняка знаете, как можно сделать многие вещи как минимум одним из способов. Но не секрет, что этих способов может быть много, у каждой команды они могут быть свои, и часто тот или иной способ выбран исключительно по историческим причинам.

Сегодня я хочу сделать небольшой обзор того, какие вообще есть альтернативы и средства разработки и на чем стоит акцентировать внимание при выборе той или иной библиотеки.
Всего голосов 47: ↑42 и ↓5 +37
Комментарии 0

Как новичку сделать вклад в open source проект с 20К звездами?

Время на прочтение 3 мин
Количество просмотров 16K
Open source *Java *GitHub *
На хабре публикуют перевод статей про участие в open source продуктах и складывается впечатление что жизнь, полная энтузиастов, где-то за границей. Что новичку страшно участвовать в крупных проектах, что у него обязательно должны быть там кураторы и его pull request вместе с ним точно пройдет через все круги ада.

Опыт друга, новичка в open source, говорит об обратном. Первый его pull request #11680 приняли в звездный spring-boot без обсуждения и без единого комментария от мейнтейнеров. Его исправления будут доступны уже в версии 2.0.0.RC1



Не боги горшки обжигают. Рассуждения о возможности стать контрибьютором крупного проекта на github…
Читать дальше →
Всего голосов 31: ↑25 и ↓6 +19
Комментарии 46

Кто ответит в agile за качество разработки сложных проектов, или методология Quality Gates

Время на прочтение 5 мин
Количество просмотров 17K
Блог компании Сбер Управление разработкой *Управление проектами *Agile *DevOps *
Сегодня мы наблюдаем, как во всем мире постепенно отмирает waterfall-модель разработки. Ее не любят за тяжеловесность и плохую реакцию на изменения. Это напрямую влияет на актуальность продукта и увеличивает ТТМ (time-to-market), выливаясь в дополнительные затраты. Разработчики перестраиваются на рельсы agile, и мы здесь не исключение.

Методология agile изначально создавалась для маленьких команд, которые делают продукт под ключ в режиме end-to-end и сами отвечают за его качество. Но как быть, если разрабатываешь высококритичные банковские системы, над которыми трудятся десятки agile-команд? Как достичь той уверенности в продукте, которую дает долгое, исчерпывающее тестирование как в waterfall? В этом посте мы поделимся своим решением этого вопроса.


Читать дальше →
Всего голосов 13: ↑10 и ↓3 +7
Комментарии 7

PVS-Studio для Java

Время на прочтение 12 мин
Количество просмотров 14K
Блог компании PVS-Studio Информационная безопасность *Open source *Java *DevOps *
PVS-Studio для Java

В седьмой версии статического анализатора PVS-Studio мы добавили поддержку языка Java. Пришло время немного рассказать, как мы начинали делать поддержку языка Java, что у нас получилось и какие дальнейшие планы. И, конечно, в статье будут приведены первые испытания анализатора на открытых проектах.
Read more →
Всего голосов 59: ↑57 и ↓2 +55
Комментарии 47

PVS-Studio for Java

Время на прочтение 12 мин
Количество просмотров 2.4K
Блог компании PVS-Studio Open source *Java *DevOps *
PVS-Studio for Java

In the seventh version of the PVS-Studio static analyzer, we added support of the Java language. It's time for a brief story of how we've started making support of the Java language, how far we've come, and what is in our further plans. Of course, this article will list first analyzer trials on open source projects.
Читать дальше →
Всего голосов 31: ↑31 и ↓0 +31
Комментарии 3

Getting Started with the PVS-Studio Static Analyzer for C++ Development under Linux

Время на прочтение 4 мин
Количество просмотров 1.7K
Блог компании PVS-Studio C++ *C *Разработка под Linux *DevOps *
PVS-Studio supports analyzing projects developed in C, C++, C#, and Java. You can use the analyzer under Windows, Linux, and macOS. This small article will tell you the basics of analyzing C and C++ code in Linux environment.

Installation


There are different ways to install PVS-Studio under Linux, depending on your distro type. The most convenient and preferred method is to use the repository, since it allows auto-updating the analyzer upon releasing new versions. Another option is to use the installation package, which you can get here.
Read more →
Всего голосов 27: ↑24 и ↓3 +21
Комментарии 0

Знакомство со статическим анализатором PVS-Studio при разработке C++ программ в среде Linux

Время на прочтение 5 мин
Количество просмотров 4.3K
Блог компании PVS-Studio C++ *C *Разработка под Linux *DevOps *
PVS-Studio поддерживает анализ проектов на языках C, C++, C# и Java. Использовать анализатор можно под системами Windows, Linux и macOS. В этой заметке речь пойдет об анализе кода, написанного на C и C++ в среде Linux.

Установка


Установить PVS-Studio под Linux можно разными способами, в зависимости от типа дистрибутива. Наиболее удобный и предпочтительный способ – использование репозитория: так это позволяет автоматически обновлять анализатор при выходе новых версий. Второй вариант – использовать установочный пакет, который можно скачать здесь.
Читать дальше →
Всего голосов 46: ↑37 и ↓9 +28
Комментарии 8

Безопасность приложений, или Как внедрить security в заказную разработку. Личный опыт AGIMA

Время на прочтение 7 мин
Количество просмотров 2.3K
Блог компании AGIMA Информационная безопасность *Управление разработкой *
Digital-агентства все больше внимания уделяют безопасности инфраструктуры, в которой ведется разработка, а также начинают смотреть в сторону обеспечения безопасности приложений. Вы наверняка читали про разновидность и критичность уязвимостей, инструменты и методы обеспечения ИБ. Но как игнорирование или обеспечение безопасности приложений влияет на сам процесс заказной разработки?

Что в статье:

Мы не будем в сотый раз повторять, почему так важна безопасность, какие существуют уязвимости или как Red Team побеждает Blue Team в очередной схватке. Это короткая история о том, почему мы добавили security к заказной разработке и как мы это сделали.
Читать дальше →
Всего голосов 14: ↑10 и ↓4 +6
Комментарии 0

SonarQube и IntelliJ IDEA: правильная интеграция

Время на прочтение 7 мин
Количество просмотров 30K
Блог компании НПО Криста Программирование *Java *
Туториал

SonarQube — отличный инструмент для внедрения статического анализа кода в процесс разработки ПО. Он поддерживает как используемую у нас в компании Java, так и большое количество других языков программирования.


На данный момент этот инструмент плотно вошёл в нашу жизнь, следя за единым стилем кода и уберегая от самых разных видов ошибок. Поиск ошибок происходит при сборке на CI или перед принятием pull request в версионное хранилище. Все найденные ошибки отображаются в Web-интерфейсе, где можно изучать их и управлять ими.


Однако беда в том, что удобный Web-интерфейс не означает удобство по устранению найденных замечаний в коде проекта. Для того, чтобы внести исправление, приходится сначала смотреть, в каком именно файле это замечание обнаружено, потом открывать этот файл и только затем вносить исправление. Также это приводит к тому, что разработчик узнает о проблеме с очень большим отставанием (иногда анализ в SonarQube может занимать десятки минут), что не способствует поддержанию чистоты кода.


Для того, чтобы облегчить жизнь разработчикам нашей компании, использующим IntelliJ IDEA, я составил инструкцию. А в дальнейшем понял, что она может быть полезной более широкому кругу специалистов, и решил выложить её в публичный доступ.

Осторожно, много скриншотов
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 1

Deploy SonarQube Server

Время на прочтение 5 мин
Количество просмотров 7.5K
Системное администрирование **nix *Проектирование и рефакторинг *Управление разработкой *
Туториал
Из песочницы

Привет, хаброжители!


В данном руководстве хочу изложить пошаговую настройку по развёртыванию платформы для непрерывного анализа и измерения качества кода. Подобных статей в сети достаточно много, но я хочу выделить лишь главное, чтобы все новички с первого раза смогли с ней разобраться. Ставить будем SonarQube 7.9 с PostgreSQL 10.

Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 9

Измерение качества кода Android-приложения с помощью Sonarqube и Jacoco в 2019 году

Время на прочтение 5 мин
Количество просмотров 8.6K
Разработка под Android *IT-стандарты *Управление разработкой *


Привет, Хабр!


Меня зовут Артём Добровинский, я работаю Android-разработчиком в компании FINCH.


Однажды, за парой пинт с коллегой из компании, которая занимается размещением объявлений по продаже комиссованных МИГ'ов и комаров по имени Игорь, мы начали обсуждать статические анализаторы кода в CI (а что еще обсуждать). Прозвучала мысль о том, что их круто использовать — но только после того, как появится уверенность в логической надежности кода. Другими словами, о кодстайле можно думать только после того, как все тесты написаны.


Решил прислушаться к коллеге и задумался о том, как подсчитать масштаб бедствия для подручных приложений. Взгляд пал на Sonarqube и Jacoco. Процесс их подключения для hello-world проектов элементарен. Подключить их в Android-проект, разбитый на модули — уже сложнее. С целью помочь интересующимся и была написана эта статья.

Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 2

Quality pipelines в мобильной разработке, часть 1: Android

Время на прочтение 6 мин
Количество просмотров 6.1K
Блог компании EPAM Блог компании JUG Ru Group Разработка под Android *Тестирование мобильных приложений *
Перевод


фото с Unsplash по запросу "pipeline"


Общий подход


Привет! Я начинаю серию постов о пайплайнах в разработке и не только, которые помогают удостовериться в качестве разрабатываемых мобильных приложений. Главная идея в том, чтобы осветить все подходы к мобильной разработке, актуальные сейчас: нативную разработку для Android и iOS, React Native, Xamarin и Flutter. Я начну с Android, но сначала хотел бы дать общее представление, о чём это всё.


Имейте в виду, что это общий обзор инструментов и практик, способных пригодиться вам в процессе разработки Android-приложений, а не туториал по настройке этих инструментов.

Читать дальше →
Всего голосов 21: ↑21 и ↓0 +21
Комментарии 0

Статическое тестирование безопасности опенсорсными инструментами

Время на прочтение 14 мин
Количество просмотров 11K
Блог компании Одноклассники Информационная безопасность *Тестирование IT-систем *Java *Тестирование веб-сервисов *


Уязвимости в своём коде хочется находить как можно быстрее, а значит нужно автоматизировать этот процесс. Как именно автоматизировать поиск уязвимостей? Существует динамическое тестирование безопасности, существует статическое — и у обоих свои преимущества и недостатки. Сегодня подробно разберёмся со статическим на опыте его применения в Одноклассниках.


По каким принципам можно выбирать инструмент для статического тестирования? С какими сложностями сталкиваешься, когда уже выбрал? Как писать собственные правила анализа, расширяющие стандартную функциональность? Я занималась всеми этими вопросами — и теперь делюсь с Хабром тем, что узнала.


Речь пойдёт о Java, веб-приложениях, SonarQube и Find Security Bugs, но рассказанное применимо также для других языков и технологий.

Читать дальше →
Всего голосов 28: ↑28 и ↓0 +28
Комментарии 3
1