con3258 - return of the code quality...

24
Return of the Code Quality Inquisition CON3258 JavaOne 2015 San Francisco, 25-29.10.2015 27 November 2014 1

Upload: lycong

Post on 08-Oct-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

Return of the Code Quality Inquisition CON3258

JavaOne 2015 San Francisco, 25-29.10.2015

27 November 2014 1

Page 2: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

Space Systems

Earth Observation, Navigation and Science satellites and spacecraft, probes and rovers. Design and production of Earth Observation, Navigation and Science satellites. Leveraging a wide range of highly versatile satellite systems, optical and microwave instruments; ground segment. Telecom satellites. Tailored solutions for a full range of missions, from fixed services and broadcast to mobile and broadband applications. Total satellite communications system capability: from design, manufacture, test, launch and operations to the provision of complete communications system infrastructure.

Defence. We deliver a full range of space-based security and defence systems and services for reconnaissance and surveillance, secure communications, early warning, and ballistic defence. Propulsion. Rocket engines, complete space propulsion systems, sub-systems and components.

Product highlights continue

Page 3: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

About Me

• System Engineer @ Airbus Defence & Space

• Founder and Leader of JUG Bodensee

• Member of NetBeans Dream Team

• NetBeans Community Acceptance Testing (NetCAT)

• Duke‘s Choice Award Winner

• Java One Content Committee

• Java Champion

Page 4: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

About Me

• System Engineer @ Airbus Defence & Space

• Founder and Leader of JUG Bodensee

• Member of NetBeans Dream Team

• Duke‘s Choice Award Winner

• Java One Content Committee

Page 5: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

Code Quality - What? Why?

5

Page 6: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

Code Quality 101

http://xkcd.com/1513/

Page 7: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

It is not only about style …

7

Page 8: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

… it is all about Quality

8

Page 9: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

… it is all about Stability

9

Page 10: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

… it is all about Maintainability

10

Page 11: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

How do we Achieve Code Quality Today?

11

Page 12: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

Tools

12

Page 13: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

The Tools (Java centric, Open Source, Free)

• Code Style Checker • Checkstyle • PMD

• Issue Detector • Javac -Xlint • FindBugs

• Unit Tests and Code Coverage • JUnit & JaCoCo

• Continuous Integration of results • Jenkins

• Reporting / Visualization • Sonar

Page 14: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

The Continuous Code Quality Process

14

Page 15: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

The Quality Feedback Loop

Write

Code (IDE)

Commit (Git)

CI Build (Jenkins)

Quality Analysis (Sonar)Takes like

forever?

Page 16: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

Solution

16

Page 17: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

Code Quality as You Type

17

Page 18: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

The Instantaneous Quality Feedback Loop

Write Code (IDE)

Integrated Analysis

(IAE)

Blazingly

Fast

Page 19: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

The Combined Quality Feedback Loop

Integrated Analysis

(IAE)

Write

Code (IDE)

Commit (Git)

CI Build (Jenkins)

Quality Analysis (Sonar)

Page 20: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

The Enhanced Combined Quality Feedback Loop

Integrated Analysis

(IAE)

Write

Code (IDE)

Commit (Git)

CI Build (Jenkins)

Quality Analysis (Sonar)

Page 21: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

Demo

21

Page 22: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

Looking into the Crystal Ball

22

Page 23: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

Q&A

23

Page 24: CON3258 - Return of the Code Quality Inquisitiondocs.huihoo.com/.../CON3258-Return-of-the-Code-Quality-Inquisition… · Return of the Code Quality Inquisition CON3258 ... • NetBeans

October, 2015

PIONEERING THE FUTURE TOGETHER

Contact: Name: Sven ReimersTitle: System Engineer, User & Control Groundsegments FHNE-mail: [email protected] Twitter: @svennb

Contact: Name: Florian VoglerTitle: System Engineer, User & Control Groundsegments FHNE-mail: [email protected] Twitter: @floriannb