0
Kommt Clean Code in Studium
und Ausbildung zu kurz?

Björn Kimminich
https://twitter.com/bkimminich
https://linkedin.com/i...
Björn Kimminich

2007+

2011+

2012+

Software Architekt
& Security Officer
bei Kuehne+Nagel
im Corporate Web
Development
...
Woher kennen Sie das…?
Sorgfalt wird als Teil des
Arbeitsverhaltens bewertet…

…zusammen mit Selbständigkeit und
Leistungs...
…aus der Grundschule!
Inhaltsübersicht

Clean Code im Informatik-Studium
Sind Clean Coder unter Ihren
Bewerbern?

Clean Code-Fortbildung im
Unte...
Clean Code im InformatikStudium
Lernschwierigkeitsgrad und
Praxisrelevanz
Erste
Programmiersprache
Neue
Sprachen/Technologien

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

Und wie sieht die
Realität in den
Lehrplänen aus?

Der Aufwan...
Clean Code im Curriculum
(Uni Hamburg)

Quelle: http://www.min.uni-hamburg.de/bachelorstudiengaenge_/bsc_software-system-e...
Modul „Softwaretechnik“
(Uni Hamburg)

Quelle: http://www.informatik.uni-hamburg.de/Info/Studium/Modulhandbuch_8.0.pdf
Clean Code im Curriculum
(FH Wedel)

Quelle: http://www.fh-wedel.de/fileadmin/bereiche/pruefungsamt/uebersichten/Bachelor_...
Modul „Softwarequalität“
(FH Wedel)

Quelle: http://www.fh-wedel.de/fileadmin/bereiche/pruefungsamt/modulhandbuecher/Bache...
Clean Code im Curriculum
(FH Nordakademie)

Quelle: http://www.nordakademie.de/de/bachelorstudiengaenge/angewandte-informa...
Modul „Programmierung 2“
(FH Nordakademie) 2011/2012
„Praxis der Softwareentwicklung“
(FH Nordakademie) 2013
Manche mögen‘s … schmutzig!
„Dirty Hacking“ kann in kürzester Zeit zu
tollen und sichtbaren Erfolgen führen
Studenten woll...
Mein Code von letzter Woche…
Wie kann ich nun die
Studenten zum
sauber(er)en
Programmieren
motivieren?!

Mit den richtigen...
Greenfield Projekt
+ Pair Programming

Quelle: http://www.slideshare.net/BjrnKimminich/agile-software-development-in-pract...
Brownfield Projekt
+ Veränderung im Team

Quelle: http://www.slideshare.net/BjrnKimminich/agile-software-development-in-pr...
Legacy Code
+ Boy Scout Rule

Quelle: http://www.slideshare.net/BjrnKimminich/agile-software-development-in-practice
Nachträgliches Unit-Testing

Quelle: http://www.slideshare.net/BjrnKimminich/agile-software-development-in-practice
Sind Clean Coder unter
Ihren Bewerbern?
Woran man Clean Coder im
Bewerbungsgespräch erkennt
Code-Beispiele aus
Bewerbungsgesprächen
1x query.list()
in lokale Variable!

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

List...
Weitere Auffälligkeiten?
Methode auslagern:
if (!isEmpty(result)){…}

return null ist
generell schlechter
Stil

Nichtssage...
Tipps
Immer auch einen „Techniker“ dabei haben
Codebeispiele mit einem konkreten
technischen Problem sollten zusätzlich au...
Clean Code-Fortbildung im
Unternehmen
Beispiel: Kühne+Nagel (AG & Co.) KG
2-tägige Schulung in Clean Code & TDD
Für alle „programmierenden“ Mitarbeiter (inkl. E...
Clean Code Commitment bei K+N
Fazit
Und die Moral von der Geschicht‘…
Clean Code ist nichts, was man erst nach X Jahren
Berufserfahrung erlernen kann
„Einstei...
Vielen Dank…

…für Ihre Aufmerksamkeit!
Upcoming SlideShare
Loading in...5
×

Kommt Clean Code in Studium und Ausbildung zu kurz?

2,237

Published on

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.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,237
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
2
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

  1. 1. Kommt Clean Code in Studium und Ausbildung zu kurz? Björn Kimminich https://twitter.com/bkimminich https://linkedin.com/in/bkimminich https://google.com/+BjörnKimminich https://www.xing.com/profile/Bjoern_Kimminich KCCiSuAzk 1.17.1 (24.01.2014)
  2. 2. Björn Kimminich 2007+ 2011+ 2012+ Software Architekt & Security Officer bei Kuehne+Nagel im Corporate Web Development Nebenamtlicher Dozent für Java & Agile Software Entwicklung an der FH Nordakademie Committer im OWASP Zed Attack Proxy Projekt und Leiter des zaproxytest Unterprojekts
  3. 3. Woher kennen Sie das…? Sorgfalt wird als Teil des Arbeitsverhaltens bewertet… …zusammen mit Selbständigkeit und Leistungsbereitschaft
  4. 4. …aus der Grundschule!
  5. 5. Inhaltsübersicht Clean Code im Informatik-Studium Sind Clean Coder unter Ihren Bewerbern? Clean Code-Fortbildung im Unternehmen
  6. 6. Clean Code im InformatikStudium
  7. 7. Lernschwierigkeitsgrad und Praxisrelevanz Erste Programmiersprache Neue Sprachen/Technologien Professionelle Softwareentwicklung Lernschwierigkeitsgrad Der Aufwand würde sich also lohnen! Praxisrelevanz
  8. 8. Clean Code ist (fast) unabhängig von der Programmiersprache Und wie sieht die Realität in den Lehrplänen aus? Der Aufwand würde sich also erst recht lohnen! Quelle: http://www.hanselman.com/blog/JavaScriptIsAssemblyLanguageForTheWebSematicMarkupIsDeadCleanVsMachinecodedHTML.aspx
  9. 9. Clean Code im Curriculum (Uni Hamburg) Quelle: http://www.min.uni-hamburg.de/bachelorstudiengaenge_/bsc_software-system-entwicklung.pdf
  10. 10. Modul „Softwaretechnik“ (Uni Hamburg) Quelle: http://www.informatik.uni-hamburg.de/Info/Studium/Modulhandbuch_8.0.pdf
  11. 11. 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
  12. 12. Modul „Softwarequalität“ (FH Wedel) Quelle: http://www.fh-wedel.de/fileadmin/bereiche/pruefungsamt/modulhandbuecher/Bachelor_Informatik_11_0.pdf
  13. 13. Clean Code im Curriculum (FH Nordakademie) Quelle: http://www.nordakademie.de/de/bachelorstudiengaenge/angewandte-informatik
  14. 14. Modul „Programmierung 2“ (FH Nordakademie) 2011/2012
  15. 15. „Praxis der Softwareentwicklung“ (FH Nordakademie) 2013
  16. 16. Manche mögen‘s … schmutzig! „Dirty Hacking“ kann in kürzester Zeit zu tollen und sichtbaren Erfolgen führen Studenten wollen sich am liebsten „auf der grünen Wiese“ austoben Der 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…
  17. 17. Mein Code von letzter Woche… Wie kann ich nun die Studenten zum sauber(er)en Programmieren motivieren?! Mit den richtigen Übungsaufgaben! Quelle: http://www.bikerszene.de/biker/stummelhund/medien/image/affe_schaut_erstaunt-444228-1.html#img
  18. 18. Greenfield Projekt + Pair Programming Quelle: http://www.slideshare.net/BjrnKimminich/agile-software-development-in-practice
  19. 19. Brownfield Projekt + Veränderung im Team Quelle: http://www.slideshare.net/BjrnKimminich/agile-software-development-in-practice
  20. 20. Legacy Code + Boy Scout Rule Quelle: http://www.slideshare.net/BjrnKimminich/agile-software-development-in-practice
  21. 21. Nachträgliches Unit-Testing Quelle: http://www.slideshare.net/BjrnKimminich/agile-software-development-in-practice
  22. 22. Sind Clean Coder unter Ihren Bewerbern?
  23. 23. Woran man Clean Coder im Bewerbungsgespräch erkennt
  24. 24. Code-Beispiele aus Bewerbungsgesprächen 1x query.list() in lokale Variable! 3x query.list() kann sehr „teuer“ sein! Listenmanipulation während Iteration! it.remove();
  25. 25. Weitere Auffälligkeiten? Methode auslagern: if (!isEmpty(result)){…} return null ist generell schlechter Stil Nichtssagende Variablennamen: list, (each, it) Warum Liste laden, wenn man immer nur 1 Element haben will? Magic Number
  26. 26. Tipps Immer auch einen „Techniker“ dabei haben Codebeispiele mit einem konkreten technischen Problem sollten zusätzlich auch subtilere Probleme enthalten schlechte Lesbarkeit schlechte Variablen-, Methoden- & Parameternamen sinnlose 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!
  27. 27. Clean Code-Fortbildung im Unternehmen
  28. 28. Beispiel: Kühne+Nagel (AG & Co.) KG 2-tägige Schulung in Clean Code & TDD Für alle „programmierenden“ Mitarbeiter (inkl. Externer) Software Engineers Software Architects Quality Engineers Firmeninternes „Code Retreat“ Persönliche Weiterbildung wird gefördert Ein „Exploration Day“ pro Monat Vorträge von Entwicklern für Entwickler („Java Jam“) Teilnahme an einschlägigen Konferenzen W-JAX, SeaCon, C.C.D., Agile.ee, …
  29. 29. Clean Code Commitment bei K+N
  30. 30. Fazit
  31. 31. 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 sein Unternehmen sollten mithelfen ihre Entwickler zu „Software Craftsmen“ zu machen Clean Code lohnt sich. Immer.
  32. 32. Vielen Dank… …für Ihre Aufmerksamkeit!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×