kommt clean code in studium und ausbildung zu kurz?
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
![Page 1: Kommt Clean Code in Studium und Ausbildung zu kurz?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/1.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/2.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/3.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/4.jpg)
…aus der Grundschule!
![Page 5: Kommt Clean Code in Studium und Ausbildung zu kurz?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/5.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/6.jpg)
Clean Code im Informatik-Studium
![Page 7: Kommt Clean Code in Studium und Ausbildung zu kurz?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/7.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/8.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/9.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/10.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/11.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/12.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/13.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/14.jpg)
Modul „Programmierung 2“(FH Nordakademie) 2011/2012
![Page 15: Kommt Clean Code in Studium und Ausbildung zu kurz?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/15.jpg)
„Praxis der Softwareentwicklung“ (FH Nordakademie) 2013
![Page 16: Kommt Clean Code in Studium und Ausbildung zu kurz?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/16.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/17.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/18.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/19.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/20.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/21.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/22.jpg)
Sind Clean Coder unter Ihren Bewerbern?
![Page 23: Kommt Clean Code in Studium und Ausbildung zu kurz?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/23.jpg)
Woran man Clean Coder im Bewerbungsgespräch erkennt
?
![Page 24: Kommt Clean Code in Studium und Ausbildung zu kurz?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/24.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/25.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/26.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/27.jpg)
Clean Code-Fortbildung im Unternehmen
![Page 28: Kommt Clean Code in Studium und Ausbildung zu kurz?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/28.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/29.jpg)
Clean Code Commitment bei K+N
![Page 30: Kommt Clean Code in Studium und Ausbildung zu kurz?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/30.jpg)
Fazit
![Page 31: Kommt Clean Code in Studium und Ausbildung zu kurz?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/31.jpg)
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?](https://reader036.vdocuments.pub/reader036/viewer/2022062511/54c31f2a4a795913608b466d/html5/thumbnails/32.jpg)
Vielen Dank…
…für Ihre Aufmerksamkeit!