SlideShare une entreprise Scribd logo
1  sur  11
Télécharger pour lire hors ligne
TechTalk #5:
Nghia Luong
Outline
1. What is Sonar? (demo)
2. Features
3. Covering 7 Axes of Code Quality
4. Architecture
5. Community and Ecosystem
6. Q&A
1. What is Sonar?
● Is a software quality management platform → Java.
● Enabling developers to access and track code analysis data ranging
○ styling errors
○ potential bugs
○ code defects
○ code duplications
○ lack of test coverage
○ excess complexity
● Support more than 20 languages.
2. Features
● Overview of all projects (demo)
● Coding rules:
○ 600+ rules are incorporated, can be fully
parameterized.
○ implement your own.
● Standard software metrics: Lines of code, Documented
API, Cyclomatic complexity, Test coverage, Duplicated
code.
2. Features
● Drill down to source code
● Time Machine (Technical Debt, Code
Smell … -> SQALE), Motion Chart.
Motion Chart
Technical Debt
2. Features
● Security measures
● Extensible plugin system
○ Additional languages.
○ Additional metrics: Useless code,
Build stability ...
○ Visualization/Reporting:
■ PDF Report.
■ Timeline: Google Timeline
Chart.
○ Integration:
■ Jenkins and Bamboo.
○ IDE: Eclipse
3. Covering 7 Axes of Code Quality
Aka Developers' Seven Deadly Sins
4. Architecture
Sonar Architecture
5. Architecture
Sonar with CI Architecture
6. Community and Ecosytem
● Issues: http://jira.codehaus.org/browse/SONAR
● Open Source: https://github.com/SonarSource/sonarqube
● Contribute: http://www.sonarqube.org/development/
Q&A

Contenu connexe

Tendances

Sonarqube
SonarqubeSonarqube
SonarqubeKalkey
 
Managing code quality with SonarQube
Managing code quality with SonarQubeManaging code quality with SonarQube
Managing code quality with SonarQubeRadu Vunvulea
 
Tracking and improving software quality with SonarQube
Tracking and improving software quality with SonarQubeTracking and improving software quality with SonarQube
Tracking and improving software quality with SonarQubePatroklos Papapetrou (Pat)
 
Track code quality with SonarQube - short version
Track code quality with SonarQube - short versionTrack code quality with SonarQube - short version
Track code quality with SonarQube - short versionDmytro Patserkovskyi
 
Code Quality Lightning Talk
Code Quality Lightning TalkCode Quality Lightning Talk
Code Quality Lightning TalkJonathan Gregory
 
Java Source Code Analysis using SonarQube
Java Source Code Analysis using SonarQubeJava Source Code Analysis using SonarQube
Java Source Code Analysis using SonarQubeAngelin R
 
Static Analysis with Sonarlint
Static Analysis with SonarlintStatic Analysis with Sonarlint
Static Analysis with SonarlintUT, San Antonio
 
What is SonarQube in DevOps.docx
What is SonarQube in DevOps.docxWhat is SonarQube in DevOps.docx
What is SonarQube in DevOps.docxDevOps University
 
Static code analysis with sonar qube
Static code analysis with sonar qubeStatic code analysis with sonar qube
Static code analysis with sonar qubeHayi Nukman
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationamscanne
 
SonarQube와 함께하는 소프트웨어 품질 세미나 - SonarQube 소개
SonarQube와 함께하는 소프트웨어 품질 세미나 - SonarQube 소개SonarQube와 함께하는 소프트웨어 품질 세미나 - SonarQube 소개
SonarQube와 함께하는 소프트웨어 품질 세미나 - SonarQube 소개CURVC Corp
 
Sonar Tool - JAVA code analysis
Sonar Tool - JAVA code analysisSonar Tool - JAVA code analysis
Sonar Tool - JAVA code analysisPrashant Gupta
 

Tendances (20)

Sonarqube
SonarqubeSonarqube
Sonarqube
 
Sonarqube
SonarqubeSonarqube
Sonarqube
 
Managing code quality with SonarQube
Managing code quality with SonarQubeManaging code quality with SonarQube
Managing code quality with SonarQube
 
Tracking and improving software quality with SonarQube
Tracking and improving software quality with SonarQubeTracking and improving software quality with SonarQube
Tracking and improving software quality with SonarQube
 
SonarQube Presentation.pptx
SonarQube Presentation.pptxSonarQube Presentation.pptx
SonarQube Presentation.pptx
 
Track code quality with SonarQube - short version
Track code quality with SonarQube - short versionTrack code quality with SonarQube - short version
Track code quality with SonarQube - short version
 
Sonar Review
Sonar ReviewSonar Review
Sonar Review
 
Sonar qube
Sonar qubeSonar qube
Sonar qube
 
Code Quality Lightning Talk
Code Quality Lightning TalkCode Quality Lightning Talk
Code Quality Lightning Talk
 
Java Source Code Analysis using SonarQube
Java Source Code Analysis using SonarQubeJava Source Code Analysis using SonarQube
Java Source Code Analysis using SonarQube
 
Jenkins with SonarQube
Jenkins with SonarQubeJenkins with SonarQube
Jenkins with SonarQube
 
Sonar
SonarSonar
Sonar
 
Static Analysis with Sonarlint
Static Analysis with SonarlintStatic Analysis with Sonarlint
Static Analysis with Sonarlint
 
What is SonarQube in DevOps.docx
What is SonarQube in DevOps.docxWhat is SonarQube in DevOps.docx
What is SonarQube in DevOps.docx
 
Sonar Overview
Sonar OverviewSonar Overview
Sonar Overview
 
Static code analysis with sonar qube
Static code analysis with sonar qubeStatic code analysis with sonar qube
Static code analysis with sonar qube
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
SonarQube와 함께하는 소프트웨어 품질 세미나 - SonarQube 소개
SonarQube와 함께하는 소프트웨어 품질 세미나 - SonarQube 소개SonarQube와 함께하는 소프트웨어 품질 세미나 - SonarQube 소개
SonarQube와 함께하는 소프트웨어 품질 세미나 - SonarQube 소개
 
Sonar Tool - JAVA code analysis
Sonar Tool - JAVA code analysisSonar Tool - JAVA code analysis
Sonar Tool - JAVA code analysis
 
SonarQube.pptx
SonarQube.pptxSonarQube.pptx
SonarQube.pptx
 

En vedette

Build Automation using Maven
Build Automation using Maven Build Automation using Maven
Build Automation using Maven Ankit Gubrani
 
Selenium Test Automation
Selenium Test AutomationSelenium Test Automation
Selenium Test AutomationBabuDevanandam
 
Continuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsSunil Dalal
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...Sonatype
 

En vedette (6)

Maven overview
Maven overviewMaven overview
Maven overview
 
Build Automation using Maven
Build Automation using Maven Build Automation using Maven
Build Automation using Maven
 
Selenium Test Automation
Selenium Test AutomationSelenium Test Automation
Selenium Test Automation
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
 
Continuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applications
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
 

Similaire à Tech Talk #5 : Code Analysis SonarQube - Lương Trọng Nghĩa

How to improve code quality for iOS apps?
How to improve code quality for iOS apps?How to improve code quality for iOS apps?
How to improve code quality for iOS apps?Kate Semizhon
 
Code Review with Sonar
Code Review with SonarCode Review with Sonar
Code Review with SonarMax Kleiner
 
Using Automated Code Reviews to Achieve Continuous Quality (ASQF Agile Night ...
Using Automated Code Reviews to Achieve Continuous Quality (ASQF Agile Night ...Using Automated Code Reviews to Achieve Continuous Quality (ASQF Agile Night ...
Using Automated Code Reviews to Achieve Continuous Quality (ASQF Agile Night ...Peter Kofler
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneursRodrigo Gil
 
Security in CI/CD Pipelines: Tips for DevOps Engineers
Security in CI/CD Pipelines: Tips for DevOps EngineersSecurity in CI/CD Pipelines: Tips for DevOps Engineers
Security in CI/CD Pipelines: Tips for DevOps EngineersDevOps.com
 
Aliaksei Skobeleu "Taking Control Over Code Metrics"
Aliaksei Skobeleu "Taking Control Over Code Metrics"Aliaksei Skobeleu "Taking Control Over Code Metrics"
Aliaksei Skobeleu "Taking Control Over Code Metrics"LogeekNightUkraine
 
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Update
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech UpdateAdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Update
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Updatejamieayre
 
Using protocol analyzer on mikrotik
Using protocol analyzer on mikrotikUsing protocol analyzer on mikrotik
Using protocol analyzer on mikrotikAchmad Mardiansyah
 
Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020
Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020
Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020Andrew Yatsenko
 
Legacy code development and maintenance
Legacy code development and maintenanceLegacy code development and maintenance
Legacy code development and maintenanceDenis Kondratenko
 
Joomla Code Quality Control and Automation Testing
Joomla Code Quality Control and Automation TestingJoomla Code Quality Control and Automation Testing
Joomla Code Quality Control and Automation TestingShyam Sunder Verma
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth Pilli
 
Summit 16: NetIDE: Integrating and Orchestrating SDN Controllers
Summit 16: NetIDE: Integrating and Orchestrating SDN ControllersSummit 16: NetIDE: Integrating and Orchestrating SDN Controllers
Summit 16: NetIDE: Integrating and Orchestrating SDN ControllersOPNFV
 
Scaling Magento
Scaling MagentoScaling Magento
Scaling MagentoCopious
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixAll Things Open
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Programaspyker
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategiesRaquel Pau
 

Similaire à Tech Talk #5 : Code Analysis SonarQube - Lương Trọng Nghĩa (20)

How to improve code quality for iOS apps?
How to improve code quality for iOS apps?How to improve code quality for iOS apps?
How to improve code quality for iOS apps?
 
Code Review with Sonar
Code Review with SonarCode Review with Sonar
Code Review with Sonar
 
Using Automated Code Reviews to Achieve Continuous Quality (ASQF Agile Night ...
Using Automated Code Reviews to Achieve Continuous Quality (ASQF Agile Night ...Using Automated Code Reviews to Achieve Continuous Quality (ASQF Agile Night ...
Using Automated Code Reviews to Achieve Continuous Quality (ASQF Agile Night ...
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneurs
 
Security in CI/CD Pipelines: Tips for DevOps Engineers
Security in CI/CD Pipelines: Tips for DevOps EngineersSecurity in CI/CD Pipelines: Tips for DevOps Engineers
Security in CI/CD Pipelines: Tips for DevOps Engineers
 
Aliaksei Skobeleu "Taking Control Over Code Metrics"
Aliaksei Skobeleu "Taking Control Over Code Metrics"Aliaksei Skobeleu "Taking Control Over Code Metrics"
Aliaksei Skobeleu "Taking Control Over Code Metrics"
 
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Update
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech UpdateAdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Update
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Update
 
Using protocol analyzer on mikrotik
Using protocol analyzer on mikrotikUsing protocol analyzer on mikrotik
Using protocol analyzer on mikrotik
 
Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020
Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020
Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020
 
Legacy code development and maintenance
Legacy code development and maintenanceLegacy code development and maintenance
Legacy code development and maintenance
 
Joomla Code Quality Control and Automation Testing
Joomla Code Quality Control and Automation TestingJoomla Code Quality Control and Automation Testing
Joomla Code Quality Control and Automation Testing
 
Software maintenance PyConUK 2016
Software maintenance PyConUK 2016Software maintenance PyConUK 2016
Software maintenance PyConUK 2016
 
Resume M_Shams_qureshi
Resume M_Shams_qureshi Resume M_Shams_qureshi
Resume M_Shams_qureshi
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
 
Software maintenance PyConPL 2016
Software maintenance PyConPL 2016Software maintenance PyConPL 2016
Software maintenance PyConPL 2016
 
Summit 16: NetIDE: Integrating and Orchestrating SDN Controllers
Summit 16: NetIDE: Integrating and Orchestrating SDN ControllersSummit 16: NetIDE: Integrating and Orchestrating SDN Controllers
Summit 16: NetIDE: Integrating and Orchestrating SDN Controllers
 
Scaling Magento
Scaling MagentoScaling Magento
Scaling Magento
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at Netflix
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Program
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategies
 

Plus de Nexus FrontierTech

[Executive Lounge Talk] Digital Transformation Journey
[Executive Lounge Talk] Digital Transformation Journey[Executive Lounge Talk] Digital Transformation Journey
[Executive Lounge Talk] Digital Transformation JourneyNexus FrontierTech
 
[AI series Talk #2] From PoC to Production - A Case Study
[AI series Talk #2] From PoC to Production - A Case Study[AI series Talk #2] From PoC to Production - A Case Study
[AI series Talk #2] From PoC to Production - A Case StudyNexus FrontierTech
 
[AI Series Talk #2] Moving AI from PoC Stage to Production
[AI Series Talk #2] Moving AI from PoC Stage to Production[AI Series Talk #2] Moving AI from PoC Stage to Production
[AI Series Talk #2] Moving AI from PoC Stage to ProductionNexus FrontierTech
 
[VFS 2019] Introduction to GANs - Pixta Vietnam
[VFS 2019] Introduction to GANs - Pixta Vietnam[VFS 2019] Introduction to GANs - Pixta Vietnam
[VFS 2019] Introduction to GANs - Pixta VietnamNexus FrontierTech
 
[VFS 2019] Enabling Young Generation for Future - AWS Vietnam User Group
[VFS 2019] Enabling Young Generation for Future - AWS Vietnam User Group[VFS 2019] Enabling Young Generation for Future - AWS Vietnam User Group
[VFS 2019] Enabling Young Generation for Future - AWS Vietnam User GroupNexus FrontierTech
 
[VFS 2019] Building chatbot with RASA
[VFS 2019] Building chatbot with RASA[VFS 2019] Building chatbot with RASA
[VFS 2019] Building chatbot with RASANexus FrontierTech
 
[VFS 2019] Vietnamese Speech-to-Text: Applications and Product
[VFS 2019] Vietnamese Speech-to-Text: Applications and Product[VFS 2019] Vietnamese Speech-to-Text: Applications and Product
[VFS 2019] Vietnamese Speech-to-Text: Applications and ProductNexus FrontierTech
 
[VFS 2019] How AI Will Innovate Recruitment
[VFS 2019] How AI Will Innovate Recruitment[VFS 2019] How AI Will Innovate Recruitment
[VFS 2019] How AI Will Innovate RecruitmentNexus FrontierTech
 
[VFS 2019] Preventive Approach to Designing and Selling Healthy AI System
[VFS 2019] Preventive Approach to Designing and Selling Healthy AI System [VFS 2019] Preventive Approach to Designing and Selling Healthy AI System
[VFS 2019] Preventive Approach to Designing and Selling Healthy AI System Nexus FrontierTech
 
[VFS 2019] Phương pháp phát hiện bất thường bằng học máy
[VFS 2019] Phương pháp phát hiện bất thường bằng học máy[VFS 2019] Phương pháp phát hiện bất thường bằng học máy
[VFS 2019] Phương pháp phát hiện bất thường bằng học máyNexus FrontierTech
 
[VFS 2019] OCR Techniques for Digital Transformation Evolution
[VFS 2019] OCR Techniques for Digital Transformation Evolution[VFS 2019] OCR Techniques for Digital Transformation Evolution
[VFS 2019] OCR Techniques for Digital Transformation EvolutionNexus FrontierTech
 
[VFS 2019] Human Activity Recognition Approaches
[VFS 2019] Human Activity Recognition Approaches [VFS 2019] Human Activity Recognition Approaches
[VFS 2019] Human Activity Recognition Approaches Nexus FrontierTech
 
[VFS 2019] Datamart Introduction (brief)
[VFS 2019] Datamart Introduction (brief)[VFS 2019] Datamart Introduction (brief)
[VFS 2019] Datamart Introduction (brief)Nexus FrontierTech
 
[VFS 2019] Data Strategy for Vietnamese Businesses to Levarage AI
[VFS 2019] Data Strategy for Vietnamese Businesses to Levarage AI[VFS 2019] Data Strategy for Vietnamese Businesses to Levarage AI
[VFS 2019] Data Strategy for Vietnamese Businesses to Levarage AINexus FrontierTech
 
[VFS 2019] Digital Solution for Enterprises: 24/7 A.I English Speaking Coach
[VFS 2019] Digital Solution for Enterprises: 24/7 A.I English Speaking Coach[VFS 2019] Digital Solution for Enterprises: 24/7 A.I English Speaking Coach
[VFS 2019] Digital Solution for Enterprises: 24/7 A.I English Speaking CoachNexus FrontierTech
 
[VFS 2019] Project Management for AI-based Product - A Better Approach
[VFS 2019] Project Management for AI-based Product - A Better Approach[VFS 2019] Project Management for AI-based Product - A Better Approach
[VFS 2019] Project Management for AI-based Product - A Better ApproachNexus FrontierTech
 
[VFS 2019] AI Ecosystem transition from zero to hero - case study by rubikAI
[VFS 2019] AI Ecosystem transition from zero to hero - case study by rubikAI[VFS 2019] AI Ecosystem transition from zero to hero - case study by rubikAI
[VFS 2019] AI Ecosystem transition from zero to hero - case study by rubikAINexus FrontierTech
 

Plus de Nexus FrontierTech (20)

[Executive Lounge Talk] Digital Transformation Journey
[Executive Lounge Talk] Digital Transformation Journey[Executive Lounge Talk] Digital Transformation Journey
[Executive Lounge Talk] Digital Transformation Journey
 
[AI series Talk #2] From PoC to Production - A Case Study
[AI series Talk #2] From PoC to Production - A Case Study[AI series Talk #2] From PoC to Production - A Case Study
[AI series Talk #2] From PoC to Production - A Case Study
 
[AI Series Talk #2] Moving AI from PoC Stage to Production
[AI Series Talk #2] Moving AI from PoC Stage to Production[AI Series Talk #2] Moving AI from PoC Stage to Production
[AI Series Talk #2] Moving AI from PoC Stage to Production
 
[VFS 2019] Introduction to GANs - Pixta Vietnam
[VFS 2019] Introduction to GANs - Pixta Vietnam[VFS 2019] Introduction to GANs - Pixta Vietnam
[VFS 2019] Introduction to GANs - Pixta Vietnam
 
[VFS 2019] Enabling Young Generation for Future - AWS Vietnam User Group
[VFS 2019] Enabling Young Generation for Future - AWS Vietnam User Group[VFS 2019] Enabling Young Generation for Future - AWS Vietnam User Group
[VFS 2019] Enabling Young Generation for Future - AWS Vietnam User Group
 
[VFS 2019] Building chatbot with RASA
[VFS 2019] Building chatbot with RASA[VFS 2019] Building chatbot with RASA
[VFS 2019] Building chatbot with RASA
 
[VFS 2019] Vietnamese Speech-to-Text: Applications and Product
[VFS 2019] Vietnamese Speech-to-Text: Applications and Product[VFS 2019] Vietnamese Speech-to-Text: Applications and Product
[VFS 2019] Vietnamese Speech-to-Text: Applications and Product
 
[VFS 2019] How AI Will Innovate Recruitment
[VFS 2019] How AI Will Innovate Recruitment[VFS 2019] How AI Will Innovate Recruitment
[VFS 2019] How AI Will Innovate Recruitment
 
[VFS 2019] AI in Finance
[VFS 2019] AI in Finance[VFS 2019] AI in Finance
[VFS 2019] AI in Finance
 
[VFS 2019] Preventive Approach to Designing and Selling Healthy AI System
[VFS 2019] Preventive Approach to Designing and Selling Healthy AI System [VFS 2019] Preventive Approach to Designing and Selling Healthy AI System
[VFS 2019] Preventive Approach to Designing and Selling Healthy AI System
 
[VFS 2019] Phương pháp phát hiện bất thường bằng học máy
[VFS 2019] Phương pháp phát hiện bất thường bằng học máy[VFS 2019] Phương pháp phát hiện bất thường bằng học máy
[VFS 2019] Phương pháp phát hiện bất thường bằng học máy
 
[VFS 2019] OCR Techniques for Digital Transformation Evolution
[VFS 2019] OCR Techniques for Digital Transformation Evolution[VFS 2019] OCR Techniques for Digital Transformation Evolution
[VFS 2019] OCR Techniques for Digital Transformation Evolution
 
[VFS 2019] Human Activity Recognition Approaches
[VFS 2019] Human Activity Recognition Approaches [VFS 2019] Human Activity Recognition Approaches
[VFS 2019] Human Activity Recognition Approaches
 
[VFS 2019] Aimesoft Solutions
[VFS 2019] Aimesoft Solutions[VFS 2019] Aimesoft Solutions
[VFS 2019] Aimesoft Solutions
 
[VFS 2019] Datamart Introduction (brief)
[VFS 2019] Datamart Introduction (brief)[VFS 2019] Datamart Introduction (brief)
[VFS 2019] Datamart Introduction (brief)
 
[VFS 2019] Data Strategy for Vietnamese Businesses to Levarage AI
[VFS 2019] Data Strategy for Vietnamese Businesses to Levarage AI[VFS 2019] Data Strategy for Vietnamese Businesses to Levarage AI
[VFS 2019] Data Strategy for Vietnamese Businesses to Levarage AI
 
[VFS 2019] AI for Banks
[VFS 2019] AI for Banks[VFS 2019] AI for Banks
[VFS 2019] AI for Banks
 
[VFS 2019] Digital Solution for Enterprises: 24/7 A.I English Speaking Coach
[VFS 2019] Digital Solution for Enterprises: 24/7 A.I English Speaking Coach[VFS 2019] Digital Solution for Enterprises: 24/7 A.I English Speaking Coach
[VFS 2019] Digital Solution for Enterprises: 24/7 A.I English Speaking Coach
 
[VFS 2019] Project Management for AI-based Product - A Better Approach
[VFS 2019] Project Management for AI-based Product - A Better Approach[VFS 2019] Project Management for AI-based Product - A Better Approach
[VFS 2019] Project Management for AI-based Product - A Better Approach
 
[VFS 2019] AI Ecosystem transition from zero to hero - case study by rubikAI
[VFS 2019] AI Ecosystem transition from zero to hero - case study by rubikAI[VFS 2019] AI Ecosystem transition from zero to hero - case study by rubikAI
[VFS 2019] AI Ecosystem transition from zero to hero - case study by rubikAI
 

Tech Talk #5 : Code Analysis SonarQube - Lương Trọng Nghĩa

  • 2. Outline 1. What is Sonar? (demo) 2. Features 3. Covering 7 Axes of Code Quality 4. Architecture 5. Community and Ecosystem 6. Q&A
  • 3. 1. What is Sonar? ● Is a software quality management platform → Java. ● Enabling developers to access and track code analysis data ranging ○ styling errors ○ potential bugs ○ code defects ○ code duplications ○ lack of test coverage ○ excess complexity ● Support more than 20 languages.
  • 4. 2. Features ● Overview of all projects (demo) ● Coding rules: ○ 600+ rules are incorporated, can be fully parameterized. ○ implement your own. ● Standard software metrics: Lines of code, Documented API, Cyclomatic complexity, Test coverage, Duplicated code.
  • 5. 2. Features ● Drill down to source code ● Time Machine (Technical Debt, Code Smell … -> SQALE), Motion Chart. Motion Chart Technical Debt
  • 6. 2. Features ● Security measures ● Extensible plugin system ○ Additional languages. ○ Additional metrics: Useless code, Build stability ... ○ Visualization/Reporting: ■ PDF Report. ■ Timeline: Google Timeline Chart. ○ Integration: ■ Jenkins and Bamboo. ○ IDE: Eclipse
  • 7. 3. Covering 7 Axes of Code Quality Aka Developers' Seven Deadly Sins
  • 9. 5. Architecture Sonar with CI Architecture
  • 10. 6. Community and Ecosytem ● Issues: http://jira.codehaus.org/browse/SONAR ● Open Source: https://github.com/SonarSource/sonarqube ● Contribute: http://www.sonarqube.org/development/
  • 11. Q&A