Aspects Of Code Quality meetup
-
Upload
maximilian-berghoff -
Category
Internet
-
view
120 -
download
2
Transcript of Aspects Of Code Quality meetup
![Page 1: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/1.jpg)
Aspects of Code QualityMaximilian Berghoff Andreas Haberberger
Mayflower Meetup Berlin
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 2: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/2.jpg)
Que
lle:
http
://xk
cd.c
om/8
44/
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 3: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/3.jpg)
Der Fahrplan
Warum Code Quality?
Code Quality schaffen
Code Quality messen und sicherstellen
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 4: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/4.jpg)
Warum Code Quality?
Was kosten Systemausfälle?
Was kostet Maintenance?
Was kostet Weiterentwicklung?
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 5: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/5.jpg)
Warum Code Quality?
Zufriedene Entwickler!
Warum?
CI mit Angst führt zu PI (procrastinated integration)
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 6: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/6.jpg)
1.Qualität schaffen
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 7: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/7.jpg)
Maßnahmen, die die
Lebensdauerund damit den
Wertdes Codes erhöhen.
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 8: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/8.jpg)
Alle Maßnahmen, die dazu führen, dass Code
wartbar
verständlich
zugänglich
erweiterbar
austauschbar
bleibt.
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 9: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/9.jpg)
Testing
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 10: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/10.jpg)
Linting
Metriken
Unit
Service
Integration
e2e
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 11: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/11.jpg)
Testqualität
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 12: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/12.jpg)
...und wie schreibe ich “testbaren” Code?
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 13: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/13.jpg)
Test Driven Development
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 14: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/14.jpg)
Verteilung
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 15: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/15.jpg)
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 16: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/16.jpg)
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 17: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/17.jpg)
Testen an der DomainBDD
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 18: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/18.jpg)
Ubiquitous Language
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 19: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/19.jpg)
Business Need: Edit users In order to have customer support an Admin want's to edit a user. Scenario: Edit user data on behalf of a customer Given a user with email "[email protected]" When i change the username to "ElectricMaxxx" Then the user profile should display the username "ElectricMaxxx"
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 20: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/20.jpg)
2. Qualität messenWarum?
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 21: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/21.jpg)
Indikatoren
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 22: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/22.jpg)
Code Metriken(objektive Qualitätsmaßstäbe)
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 23: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/23.jpg)
subjektive Qualitätsmaßstäbe
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 24: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/24.jpg)
Agile Methoden
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 25: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/25.jpg)
Im Deploy
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 26: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/26.jpg)
Stetiges messen
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 27: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/27.jpg)
Qualität sicherstellen
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 28: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/28.jpg)
Wer kann Qualität sehen ?
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 29: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/29.jpg)
Entwickler sehen und merken Code Quality
Anzahl Tests
Geiler Code
Code lässt sich besser bearbeiten
Neue Kollegen schneller eingelernt
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 30: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/30.jpg)
Bussiness kann Qualität sichtbar gemacht werden
Bugs - Weniger/Schneller gefixed
BDD um Anforderung und Entwicklung “kurzzuschließen”
Features schneller/planbarer
Entwickler austauschbar
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 31: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/31.jpg)
Bewusst auf Qualität verzichten?
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 32: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/32.jpg)
Technische SchuldenWarum eingehen?
Welche Folgen entstehen?
Wie geht man damit um?
Wie wieder loswerden?
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 33: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/33.jpg)
Fragen ?
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 34: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/34.jpg)
Warum Code Quality?
Was kosten Systemausfälle?
Was kostet Maintenance?
Was kostet Weiterentwicklung?
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 35: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/35.jpg)
- @ElectricMaxxx
- https://github.com/ElectricMaxxx
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
Kontakt
- @A_Haberberger
- https://github.com/ahaberberger
![Page 36: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/36.jpg)
- Slides: “The pyramid is a lie”- Blog: “Testen an der Domaine”
Metrik:- Scrutinizer: https://scrutinizer-ci.com- Sonarqube: http://www.sonarqube.org/
Build:- Travis: https://travis-ci.org/- Shippable: https://app.shippable.com/- Teamcity: https://www.jetbrains.com/teamcity/
- Bamboo: https://de.atlassian.com/software/bamboo
- Jenkins: https://jenkins.io/
Code Review
- Crucible: https://de.atlassian.com/software/crucible
- Upsource: https://www.jetbrains.com/upsource/
- Github: Github
- Gitlab: https://about.gitlab.com/
- Gerit: https://www.gerritcodereview.com/Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
Links und Quellen
![Page 37: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/37.jpg)
Thank You
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 38: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/38.jpg)
“Sauberen” Code schreiben
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
Robert C. Martin: Clean Code. A Handbook of Agile Software Craftsmanship. Prentice Hall, Upper Saddle River NJ u. a. 2008
![Page 39: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/39.jpg)
Agile Methoden
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 40: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/40.jpg)
Tools
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 41: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/41.jpg)
Metriken
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 42: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/42.jpg)
Metriken
Scrutinizer Sonarqube
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 43: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/43.jpg)
Build
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 44: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/44.jpg)
Build
Travis CI
shippableTeamcity
Jenkins
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
Bamboo
![Page 45: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/45.jpg)
Code Review
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 46: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/46.jpg)
Code Review
Upsource
Github
Crucible
Gerrit Code Review
Gitlab
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
Stash/Bitbucket
![Page 47: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/47.jpg)
Verständlicher Code
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 48: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/48.jpg)
Deploy Workflow
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 49: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/49.jpg)
Agile Methoden
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 50: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/50.jpg)
3. Qualität sicherstellen
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 51: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/51.jpg)
Behavior Driven Development
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 52: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/52.jpg)
Resilience
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg
![Page 53: Aspects Of Code Quality meetup](https://reader036.fdocuments.us/reader036/viewer/2022081605/58ef77131a28ab39048b458b/html5/thumbnails/53.jpg)
Cucumber/Gherkin
Aspects of Code Quality - Maximilian Berghoff & Andreas Haberberger, Mayflower GmbH, Gneisenaustraße 10/11, D-97074 Würzburg