Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

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

PHPIT-стандарты


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

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

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

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

Разработка веб-сайтовOpen sourceJava
Tutorial
По аналогии с примером из этой статьи, вы сможете внедрить консоль hawtio в свое jvm приложение без его пересборки и перекомпиляции. А также в случае с DEV/QA хостами внедрить в java процесс SQL веб консоль из проекта H2


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

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

PVS-StudioУправление разработкойУправление проектами

Picture 50


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

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

PVS-Studio.NETVisual StudioC#Разработка под Windows

Picture 30

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

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

PVS-StudioVisual StudioРазработка под LinuxРазработка под Windows


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

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

ZeroTechРазработка веб-сайтовПрограммированиеСовершенный кодIT-стандарты

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


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


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

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

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

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


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

Читать дальше →
Всего голосов 48: ↑43 и ↓5 +38
Просмотры12.9K
Комментарии 23

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

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


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

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

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

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

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



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

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

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

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


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

PVS-Studio для Java

PVS-StudioИнформационная безопасностьOpen sourceJavaDevOps
PVS-Studio для Java

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

PVS-Studio for Java

PVS-StudioOpen sourceJavaDevOps
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
Просмотры2.3K
Комментарии 3

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

PVS-StudioC++CРазработка под LinuxDevOps
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
Просмотры954
Комментарии 0

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

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

Установка


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

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

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

Что в статье:

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

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

НПО КристаПрограммированиеJava
Tutorial

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


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


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


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

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

Deploy SonarQube Server

Системное администрирование*nixПроектирование и рефакторингУправление разработкой
Из песочницы
Tutorial

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


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

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

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

Разработка под AndroidIT-стандартыУправление разработкой


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


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


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


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

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

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

JUG Ru GroupEPAMРазработка под AndroidТестирование мобильных приложений
Перевод


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


Общий подход


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


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

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

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

ОдноклассникиИнформационная безопасностьТестирование IT-системJavaТестирование веб-сервисов


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


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


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

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