Track code quality
with SonarQube
HELLO!
I am Dmytro Patserkovskyi
Project Manager and founder
of Dev SonarQube Community at V.I.Tech
email: dmytro.wng@gmail.com
SOURCE CODE SHOULD BE
Simple
& Readable
Extendable
Testable
& Covered with Tests
Flexible
But is it really is?
What technical debt
on your project?
An open source platform for continuous
inspection of code quality
Quality Rules and Profiles
Code Smells Bugs Vulnerabilities
Quality Profile
Rules Plugins and Repositories
44
53
357
43
73
Quality Gates
Set of boolean conditions per project,
based on measure thresholds.
Passed
Warning
Failed
Quality Gates
Metric Operator
Open Issues Is greater than 70 100
Blocker Issues Is greater than 0
Dublications Is greater than 0.5 1
New Issues Is greater than 0 10
Overall Coverage Is less than 85 80
Unit Test Failures Is greater than 0
Quality of New Code
Comparison measures for different versions
Good for long term projects
Tracking quality of code, added in current snapshot
Code Processes
Master branch
Nightly
PullRequest Each update
Support Team for SonarQube
Administrator
Sonar support and monitoring
Sonar upgrade (new minor version every 2 months)
Plugins upgrade (new minor version every month)
Dev Sonar Community
Working on Rules List
Updating Quality Profiles
Looking for new Plugins
Project Teams
Update project analysis frequently
Monitoring Quality of own project
Defining project Quality Gate
Voice and discuss all concerns with Sonar Community
Support Processes
Modifications
Monthly
Meetings
Biweekly
Feedbacks
On-demand
Discussions
On-demand
Upgrade
Monthly
24/7 monitoring and transparency
Summary
◉ Start from small: perform analysis
◉ Track code quality everyday
◉ Develop your own standard, or use existing
◉ Organize support process to make SonarQube alive
◉ Transparency 24/7, even for customers
THANKS!
Resources
◉ http://sonarqube.org
◉ http://docs.sonarqube.org/display/PLUG/Plugin+Library
◉ https://analysis.apache.org/
Links
◉ https://facebook.com/dmytro.wng
◉ http://slideshare.net/DmytroPatserkovskyi

Track code quality with SonarQube - short version