Kommt Clean Code in Studium und Ausbildung zu kurz?

32
Kommt Clean Code in Studium und Ausbildung zu kurz? KCCiSuAzk 1.17.1 (22.06.2022) Björn Kimminich https://twitter.com/bkimminich https://linkedin.com/in/bkimminich https://google.com/+BjörnKimminich https://www.xing.com/profile/Bjoern_Kimminich

description

Themen wie Clean Code oder praktische Aspekte agiler Softwareentwicklung tauchen in den Curricula der wenigsten Hochschulen an prominenter Stelle auf. Warum ist das eigentlich so? Wieso fragen wir Bewerber nach ihren beherrschten Programmiersprachen oder bereits verwendeten Frameworks, aber selten nach ihren tatsächlichen handwerklichen Fähigkeiten. Sauberen, nachvollziehbaren und wartbaren Code zu schreiben, sollte viel weiter oben auf der Checkliste bei Bewerbungsgesprächen stehen. In dem Vortrag "Kommt Clean Code in Studium und Ausbildung zu kurz?" wird von Erfahrungen aus mehreren Clean Code-Schulungen sowie Hochschulvorlesungen zum Thema berichtet. Ziel des Vortrags ist es, für eine deutlich qualitätszentriertere Ausbildung von Softwareentwicklern zu werben, sowohl an Hochschulen als auch in Ausbildungsbetrieben. Ausserdem können Manager einige Tipps mitnehmen, wie man Bewerbern auf Entwickler-Positionen die richtigen Fragen nach ihren *wirklich wichtigen* Fähigkeiten stellt.

Transcript of Kommt Clean Code in Studium und Ausbildung zu kurz?

Page 1: Kommt Clean Code in Studium und Ausbildung zu kurz?

Kommt Clean Code in Studium und Ausbildung zu kurz?

KCCiSuAzk 1.17.1 (10.04.2023)

Björn Kimminich

https://twitter.com/bkimminichhttps://linkedin.com/in/bkimminichhttps://google.com/+BjörnKimminichhttps://www.xing.com/profile/Bjoern_Kimminich

Page 2: Kommt Clean Code in Studium und Ausbildung zu kurz?

Björn Kimminich

2007+Software

Architekt & Security Officer

bei Kuehne+Nagel

im Corporate Web

Development

2011+Nebenamtlicher

Dozent für Java & Agile Software Entwicklung an

der FH Nordakademie

2012+Committer im OWASP Zed Attack Proxy

Projekt und Leiter des zaproxy-test

Unterprojekts

Page 3: Kommt Clean Code in Studium und Ausbildung zu kurz?

Woher kennen Sie das…?

Sorgfalt wird als Teil des Arbeitsverhaltens bewertet…

…zusammen mit Selbständigkeit und Leistungsbereitschaft

Page 4: Kommt Clean Code in Studium und Ausbildung zu kurz?

…aus der Grundschule!

Page 5: Kommt Clean Code in Studium und Ausbildung zu kurz?

Inhaltsübersicht

Clean Code im Informatik-Studium

Sind Clean Coder unter Ihren Bewerbern?

Clean Code-Fortbildung im Unternehmen

Page 6: Kommt Clean Code in Studium und Ausbildung zu kurz?

Clean Code im Informatik-Studium

Page 7: Kommt Clean Code in Studium und Ausbildung zu kurz?

Lernschwierigkeitsgrad und Praxisrelevanz

Erste Program-mierspracheNeue Sprachen/TechnologienProfessionelle Softwareentwick-lung

Lernschwierigkeitsgrad Series1

Praxisrelevanz

Der Aufwand würde sich also lohnen!

Page 8: Kommt Clean Code in Studium und Ausbildung zu kurz?

Clean Code ist (fast) unabhängig von der Programmiersprache

Quelle: http://www.hanselman.com/blog/JavaScriptIsAssemblyLanguageForTheWebSematicMarkupIsDeadCleanVsMachinecodedHTML.aspx

Der Aufwand würde sich also erst recht lohnen!

Und wie sieht die Realität in

den Lehrplänen

aus?

Page 9: Kommt Clean Code in Studium und Ausbildung zu kurz?

Clean Code im Curriculum(Uni Hamburg)

Quelle: http://www.min.uni-hamburg.de/bachelorstudiengaenge_/bsc_software-system-entwicklung.pdf

Page 10: Kommt Clean Code in Studium und Ausbildung zu kurz?

Modul „Softwaretechnik“(Uni Hamburg)

Quelle: http://www.informatik.uni-hamburg.de/Info/Studium/Modulhandbuch_8.0.pdf

Page 11: Kommt Clean Code in Studium und Ausbildung zu kurz?

Clean Code im Curriculum(FH Wedel)

Quelle: http://www.fh-wedel.de/fileadmin/bereiche/pruefungsamt/uebersichten/Bachelor_7_3_Beginn_WS/B_Inf11.0_Beginn_WS.pdf

Page 12: Kommt Clean Code in Studium und Ausbildung zu kurz?

Modul „Softwarequalität“(FH Wedel)

Quelle: http://www.fh-wedel.de/fileadmin/bereiche/pruefungsamt/modulhandbuecher/Bachelor_Informatik_11_0.pdf

Page 13: Kommt Clean Code in Studium und Ausbildung zu kurz?

Clean Code im Curriculum(FH Nordakademie)

Quelle: http://www.nordakademie.de/de/bachelorstudiengaenge/angewandte-informatik

Page 14: Kommt Clean Code in Studium und Ausbildung zu kurz?

Modul „Programmierung 2“(FH Nordakademie) 2011/2012

Page 15: Kommt Clean Code in Studium und Ausbildung zu kurz?

„Praxis der Softwareentwicklung“ (FH Nordakademie) 2013

Page 16: Kommt Clean Code in Studium und Ausbildung zu kurz?

Manche mögen‘s … schmutzig!

„Dirty Hacking“ kann in kürzester Zeit zu tollen und sichtbaren Erfolgen führenStudenten wollen sich am liebsten „auf der grünen Wiese“ austobenDer Dozent möchte „Hoffungslose Fälle“ wie auch „Naturtalente“ nicht demotivieren„Spaghetti-Code“ tut beim Schreiben noch nicht sonderlich weh…

…ein Partywochenende später, jedoch…

Page 17: Kommt Clean Code in Studium und Ausbildung zu kurz?

Mein Code von letzter Woche…

Quelle: http://www.bikerszene.de/biker/stummelhund/medien/image/affe_schaut_erstaunt-444228-1.html#img

Wie kann ich nun die Studenten zum

sauber(er)en Programmieren

motivieren?!

Mit den richtigen

Übungsaufgaben!

Page 18: Kommt Clean Code in Studium und Ausbildung zu kurz?

Greenfield Projekt+ Pair Programming

Quelle: http://www.slideshare.net/BjrnKimminich/agile-software-development-in-practice

Page 19: Kommt Clean Code in Studium und Ausbildung zu kurz?

Brownfield Projekt + Veränderung im Team

Quelle: http://www.slideshare.net/BjrnKimminich/agile-software-development-in-practice

Page 20: Kommt Clean Code in Studium und Ausbildung zu kurz?

Legacy Code+ Boy Scout Rule

Quelle: http://www.slideshare.net/BjrnKimminich/agile-software-development-in-practice

Page 21: Kommt Clean Code in Studium und Ausbildung zu kurz?

Nachträgliches Unit-Testing

Quelle: http://www.slideshare.net/BjrnKimminich/agile-software-development-in-practice

Page 22: Kommt Clean Code in Studium und Ausbildung zu kurz?

Sind Clean Coder unter Ihren Bewerbern?

Page 23: Kommt Clean Code in Studium und Ausbildung zu kurz?

Woran man Clean Coder im Bewerbungsgespräch erkennt

?

Page 24: Kommt Clean Code in Studium und Ausbildung zu kurz?

Code-Beispiele aus Bewerbungsgesprächen

Listenmanipulation während Iteration!

3x query.list() kann sehr „teuer“

sein!

1x query.list() in lokale Variable!

it.remove();

Page 25: Kommt Clean Code in Studium und Ausbildung zu kurz?

Weitere Auffälligkeiten?

Methode auslagern:if (!isEmpty(result)){…}

return null ist generell

schlechter Stil

Warum Liste laden, wenn man immer

nur 1 Element haben will?

Magic Number

Nichtssagende Variablennamen:list, (each, it)

Page 26: Kommt Clean Code in Studium und Ausbildung zu kurz?

Tipps

Immer auch einen „Techniker“ dabei habenCodebeispiele mit einem konkreten technischen Problem sollten zusätzlich auch subtilere Probleme enthalten

schlechte Lesbarkeitschlechte Variablen-, Methoden- & Parameternamensinnlose oder falsche Kommentare/Javadocs

Lieber ein umfangreicheres Codebeispiel mit mehreren Problemen unterschiedlicher Natur als viele isolierte Codeschnipsel……dann aber auch genug Zeit dafür einplanen!

Page 27: Kommt Clean Code in Studium und Ausbildung zu kurz?

Clean Code-Fortbildung im Unternehmen

Page 28: Kommt Clean Code in Studium und Ausbildung zu kurz?

Beispiel: Kühne+Nagel (AG & Co.) KG

2-tägige Schulung in Clean Code & TDD

Für alle „programmierenden“ Mitarbeiter (inkl. Externer)

Software EngineersSoftware ArchitectsQuality Engineers

Firmeninternes „Code Retreat“Persönliche Weiterbildung wird gefördert

Ein „Exploration Day“ pro MonatVorträge von Entwicklern für Entwickler („Java Jam“)

Teilnahme an einschlägigen Konferenzen

W-JAX, SeaCon, C.C.D., Agile.ee, …

Page 29: Kommt Clean Code in Studium und Ausbildung zu kurz?

Clean Code Commitment bei K+N

Page 30: Kommt Clean Code in Studium und Ausbildung zu kurz?

Fazit

Page 31: Kommt Clean Code in Studium und Ausbildung zu kurz?

Und die Moral von der Geschicht‘…

Clean Code ist nichts, was man erst nach X Jahren Berufserfahrung erlernen kann„Einsteiger“ erkennen oftmals den Mehrwert von Clean Code eher als „alte Hasen“Themen wie Clean Code, Agile Methoden sowie Software-Wartbarkeit sollten fester(er) Bestandteil von Vorlesungen & Prüfungen seinUnternehmen sollten mithelfen ihre Entwickler zu „Software Craftsmen“ zu machen

Clean Code lohnt sich. Immer.

Page 32: Kommt Clean Code in Studium und Ausbildung zu kurz?

Vielen Dank…

…für Ihre Aufmerksamkeit!