Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o...
Transcript of Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o...
![Page 1: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/1.jpg)
Wie Clean Code zum Teamsport wird
Von der Vision zur Mission
![Page 2: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/2.jpg)
Hi
![Page 3: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/3.jpg)
Halina[Senior Software Entwickler ]
![Page 4: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/4.jpg)
Clean Code Team ?
![Page 5: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/5.jpg)
Was ist eigentlich Clean Code?
![Page 6: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/6.jpg)
Ist das nicht subjektiv?
![Page 7: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/7.jpg)
“simple to readand
painless to maintain“
![Page 8: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/8.jpg)
lesbar
verständlich
wartbar
testbar
![Page 9: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/9.jpg)
Was sagen Entwickler?
![Page 10: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/10.jpg)
Batman: “- SoC
- KISS- YAGNI- SLA- SRP- DEMETER- DRY- Test first- IOSP- ISP- Evolvierbarkeit- FCoI- Root Cause Analysis- Dependency Inversion Principle- SOLID- Information Hiding Principle- Liskov- boy scout rule
… *lufthol* …
Alfred: „Schöne Variablennamen... … und, ähm, Tests.
Ja, Testabdeckung! “
Robin: “ Hmmm, gleiche Einrückung?
… Also Leerzeilen und Umbrüche sowas?“
Was verstehst Du unter Clean Code?
![Page 11: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/11.jpg)
Woher kommen die unterschiedlichen Sichten
auf Clean Code?
![Page 12: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/12.jpg)
individuelles Fachwissen&
individuelle Erfahrung
![Page 13: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/13.jpg)
Dreyfus Model
Brüder Stuart und Hubert Dreyfus, 1980
![Page 14: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/14.jpg)
Novice braucht Regeln
Advanced Beginner testet Regeln
Competent wendet Regeln an
Proficient greift auf Regeln zurück
Expert weit über Regeln hinaus
Dreyfus Model5 levels of skill aquisition
Dan North, GOTO 2017
![Page 15: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/15.jpg)
Woran jetzt jeder denkt:
![Page 16: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/16.jpg)
![Page 17: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/17.jpg)
Moment !
![Page 18: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/18.jpg)
Hier geht es um einzelne Fähigkeiten
![Page 19: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/19.jpg)
Robin
C Ruby
Java PHP
JS C++
![Page 20: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/20.jpg)
Dreyfus Squared
NoviceAdvancedBeginner
Competent Proficient Expert
Novice
AdvancedBeginner
Competent
Proficient
Expert
Dan North, GOTO 2017
![Page 21: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/21.jpg)
o Onboardings / Einführungen
o Trainings / Workshops
o Diskussionen / Meetings
o Fragen / Antworten
o Code Reviews
o Teamzusammenstellung / Pairings
Berücksichtigen bei
![Page 22: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/22.jpg)
Ok.Also je nach Level geht jeder anders mit
Regeln um oder kennt sie noch gar nicht.
![Page 23: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/23.jpg)
Betrachten wir wieder unser Team …
![Page 24: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/24.jpg)
Welche Regeln?
![Page 25: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/25.jpg)
Coding Guidelines!
![Page 26: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/26.jpg)
Eigene Guidelines einfach festlegen?
![Page 27: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/27.jpg)
Nur sinnvoll, wenn das Team die Guidelines ernst
nimmt
![Page 28: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/28.jpg)
Schritt 1Sicherstellen, dass jeder im Team versteht, warum Guidelines so wichtig sind
Schritt 2Von Anfang an jeden im Team bei der Erstellung der Guidelines involvieren
![Page 29: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/29.jpg)
o Code Ownership
o Man kann Dinge nachschlagen
o Keine Streitereien zwischen Einzelnen
o Neuzugang kann sich einfach einlesen
o Lesbarer Code, als hätte man ihn selbst geschrieben
o Positiver Effekt auf Wartbarkeit, wenn Guidelines
eingehalten werden weniger Kosten
o Weniger erfahrene Entwickler können sich leichter
orientieren und besser dazulernen
Vorteile
![Page 30: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/30.jpg)
Was legt man da denn überhaupt fest?
![Page 31: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/31.jpg)
o Formatierung
o Kommentare
o Umfang von Klassen & Funktionen
o Testing
o Datei Organisation
o Naming Conventions
o Architektur Guidelines
… und, und, und
Was sind Coding Guidelines?
![Page 32: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/32.jpg)
Ist das nicht viel?
![Page 33: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/33.jpg)
Wie machen das andere?
![Page 34: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/34.jpg)
![Page 35: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/35.jpg)
![Page 36: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/36.jpg)
![Page 37: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/37.jpg)
o Bestehende Guidelines als Basis auswählen
Vorlage suchen (Sprache/Framework)
o Nur festhalten, wo das Team davon abweichen will
o Den ersten Entwurf im Team präsentieren
per Mail, Confluence und/oder Meeting
o Offene Diskussion & Zeit für Erklärungen
o Commitment von allen einholen
o Gemeinsam (!) “Strafen” bei Regelverstoß festlegen
Coding Guidelines festlegenpro Sprache / Projekt
![Page 38: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/38.jpg)
Moment, Strafen?
![Page 39: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/39.jpg)
![Page 40: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/40.jpg)
![Page 41: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/41.jpg)
Wieder zurück…
![Page 42: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/42.jpg)
o Bestehende Guidelines als Basis festlegen
Vorlage suchen (Sprache/Framework)
o Nur festhalten, wo das Team davon abweichen will
o Den ersten Entwurf im Team präsentieren
per Mail, Confluence und/oder Meeting
o Offene Diskussion & Zeit für Erklärungen
o Commitment von allen einholen
o Germeinsam(!) “Strafen” bei Regelverstoß festlegen
o regelmäßig prüfen/aktualisieren/erweitern
Coding Guidelines festlegenpro Sprache / Projekt
![Page 43: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/43.jpg)
Wie trifft man solche Entscheidungen im Team?
![Page 44: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/44.jpg)
o Votingohne große Diskussion abstimmen
o ConsensusTeam diskutiert, bis sich alle auf eine Lösung einigen
o The Strong LeaderDiskussion im Team, Entscheidung durch Leader. Leader-Rolle kann wechseln
MethodenGerald M. Weinberg’s - “Becoming a Technical Leader“.
![Page 45: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/45.jpg)
Proo Schnelle Ergebnisseo Gefühl der Gleichberechtigungo Hilfreich, wenn keiner
Verantwortung übernehmen will
o Gut, wenn es keinen Spezialisten zu dem Thema gibt
o Entscheidungen selten total schlecht
VotingGerald M. Weinberg’s - “Becoming a Technical Leader“
Kontrao Oft kein optimales Ergebniso Ohne Diskussion kein
Lerneffekt
![Page 46: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/46.jpg)
Proo Großartige Ergebnisseo Hoher Lerneffekt durch
Diskussion
ConsensusGerald M. Weinberg’s - “Becoming a Technical Leader“
Kontrao Sehr zeitintensivo Wird schnell anstrengend,
wenn Meinungen zu weit auseinander liegen
![Page 47: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/47.jpg)
Proo Schnelle Ergebnisseo Großartige Ergebnisse, wenn
der Leader tiefes Fachwissen hat
Strong LeaderGerald M. Weinberg’s - “Becoming a Technical Leader“
Kontrao Schlechte Ergebnisse, wenn
der Leader keine guten Fachkenntnisse hat und er andere Meinungen nicht berücksichtigt
o Keine Gleichberechtigung führt vielleicht zu dem Gefühl, weniger wichtig zu sein
![Page 48: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/48.jpg)
o Slack
o Confluence
o Handzeichen
o Entscheidungs-Log
etc.
Es muss nicht immer ein Meeting sein:
![Page 49: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/49.jpg)
o Wenn man auf Widerstand stößt, Moderator-Rolle an den „Rebell“ abgeben
o Stillere Teammitglieder einbeziehen und nach ihrer Meinung fragen
o Wenn man gemeinsam entscheidet, ist das ganze Team dafür verantwortlich
keine Blame Kultur
o Wenn über ein komplexes Thema entschieden werden muss, vorab ein
Zeitkontingent zur Einarbeitung festlegen
o Meinungen entschärfen:
„Wie seht ihr das?“
„Lasst uns den anderen Ansatz zusammen durchspielen!“
Tipps für Team-Entscheidungen
![Page 50: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/50.jpg)
Gut
![Page 51: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/51.jpg)
Guidelines festgelegt
![Page 52: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/52.jpg)
Und wie läuft das jetzt jeden Tag?
![Page 53: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/53.jpg)
Wir müssen doch Features bauen!?
![Page 54: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/54.jpg)
Automatisieren, was geht!
![Page 55: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/55.jpg)
o Tools bereits in der Entwicklungsumgebung einrichten
o Statische Codeanalyse der Testsuite vorschalten
✓ Spart Arbeit
✓ Frühes Feedback
✓ Die Tools kritisieren den Code, nicht andere Teammitglieder
✓ Deckt Probleme auf, ein Mensch vielleicht nicht wahrnimmt
✓ Lerneffekt
Statische Codeanalyse
![Page 56: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/56.jpg)
Und was ist damit, das die statische Codeanalyse
nicht finden kann?
![Page 57: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/57.jpg)
Code Reviews !
![Page 58: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/58.jpg)
Warum?
![Page 59: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/59.jpg)
Vorteile
o Konsistenter Code
o Code Ownership
o Wissen verteilen
o Teamstandards erhöhen
o Entwickler geben sich mehr Mühe, wenn Reviews anstehen
o Hands on learning: dein Code, dein Anwendungsfall
o Weniger Security Issues
o Weniger Bugs
![Page 60: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/60.jpg)
Wie?
![Page 61: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/61.jpg)
Review Guidelines
![Page 62: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/62.jpg)
Review Checkliste
im Team erarbeiten und updaten
o Allgemein (Coding Standards)
o Performance
o Security
o Dokumentation
o Testing (ausreichend und sinnvoll)
![Page 63: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/63.jpg)
Grundregeln
o Wirklich konstruktiv sein
o Zeit nehmen für Erklärungen
o Immer etwas Gutes finden
o Harte Kritik entschärfen:
„ ... ist nicht so gut, was meinst Du?“
„Ich glaube, es wäre besser, weil …“
o Reviews vor dem Mergen abschließen (Dod)
o Anderen für Kritik danken
o Lob / Begeisterung für gute Ansätze
![Page 64: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/64.jpg)
Wie kann man sonst noch Wissen im Team verteilen?
![Page 65: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/65.jpg)
o Code Reviews
o Pair-Programming
o Workshops
o (e-learning) Kurse / Clean Code Videos
o Brown Bag Lunch
o Buch Club
o Programmierbier
o Dokumentation
Wege, Wissen im Team zu verteilen
![Page 66: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/66.jpg)
Findet einen Weg, der zu eurem Team passt!
![Page 67: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/67.jpg)
o Bewusstsein für verschiedenen Lernstufen
oder Erfahrungsstufen schärfen
o Coding Guidelines etablieren
o Entscheidungsprozess im Team optimieren
o Code Reviews einführen
o Soviel automatisieren wie möglich
o Austausch fördern
Zusammengefasst:
![Page 68: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/68.jpg)
Organisiert Euch!
![Page 69: Wie Clean Code zum Teamsport wird - Embedded Testing · o Brown Bag Lunch o Buch Club o Programmierbier o Dokumentation Wege, Wissen im Team zu verteilen. Findet einen Weg, der zu](https://reader033.fdocuments.us/reader033/viewer/2022060421/5f182c8db1e62d26d11ca261/html5/thumbnails/69.jpg)
Danke für‘s ZuhörenRessources:
Dan North, GOTO 2017 - https://www.youtube.com/watch?v=lvs7VEsQzKYBrüder Stuart und Hubert Dreyfus, 1980 - Dreyfus ModelGerald M. Weinberg’s book “Becoming a Technical Leader“https://team-coder.com/boosting-the-quality-of-team-decisions/
Bilder:
https://www.publicdomainpictures.net/en/view-image.php?image=129416&picture=darwin-evolutionhttps://creativecommons.org/publicdomain/zero/1.0/https://www.buildabear.de/mode/haarreif-mit-hasenohren/a-22348/https://pixabay.com/de/service/terms/#usagehttps://pixabay.com/de/gugelhupf-kuchen-gebacken-2842827/https://pixabay.com/de/marke-kreuz-falsch-nr-abstimmung-39951/