1. Warum Wandel in einer Organisation so schwer ist
Dr. F. Koschnick
Clean Code
Ein Streifzug durch die Clean-Code-Praktiken
J. Gutsch und F. Koschnick
2. Jürgen Gutsch
Software Developer bei der YooApplications AG
in Basel
Freier Trainer und Berater
Blogger http://www.aspnetzone.de/blogs/juergengutsch/
Fachautor
Speaker
Community Lead des .NET-Stammtisch Konstanz-Kreuzlingen
http://dotnetkk.de/
.NET-begeisterter Developer seit 2001
3. Fritz Koschnick
Qualitätsmanager und ScrumMaster bei Sybit GmbH
Clean-Code-Einführung bei Sybit (2010)
Scrum und CMMI
…
Entwicklungsleiter / techn. Projektleiter
Entwickler (Java, VB)
…
Physiker und Hochschuldozent
5. Folie 5 - Titel der Präsentation (Kurzfassung)
Clean Code
6. Clean Code
Ist sauber, lesbar, wartbar und evolvierbar
Ideen aus dem Buch von Robert C. Martin
ISBN 978-0132350884
Wird erzeugt durch
Einhaltung von Regeln und Konventionen
Nutzung von Techniken und Mustern
http://www.infoq.com/presentations/Robert-C.-Martin-Bad-Code
7. SOLID Principles
Single Responsibility Principle
Open-Closed-Principle
Liskov-Substitution-Principle
Interface-Segregation-Principle
Dependency-Inversion-Principle
Folie 7 - Titel der Präsentation (Kurzfassung)
8. Folie 8 - Titel der Präsentation (Kurzfassung)
http://manifesto.softwarecraftsmanship.org/
9. Clean Code Developer
Initiative initiiert von Ralf Westphal und Stefan Lieser
• Ziel: Lernen Clean Code zu erzeugen
• Regelwerk aus Prinzipien und Praktiken
• Einfaches Aneignen durch iteratives Lernen
• Schafft Bewusstsein für Clean Code im Alltag
• Professionalität = Bewusstheit + Prinzipien
10. Das Lernprinzip bei CCD
Aufteilung von Prinzipien und Praktiken
in unterschiedliche farbiger Grade
Iteratives Lernen
Durcharbeiten mehrere farbiger Grade
Um alle Prinzipien und Praktiken zu lernen und anzuwenden
Erinnerungsfunktion im Alltag
Diverse Hilfsmittel erinnern im Alltag an den aktuellen Grad
Sind alle Grade abgearbeitet, beginnt man von vorne
19. Einführung im Unternehmen
Bei Key-Developern Interesse und Qualitätsbewusstsein wecken
Bändle bestellen
Workshops organisieren und ggf. moderieren
Code-Reviews und/oder Pairing einführen (-> Definition of Done)
Infrastruktur nach Absprache bereitstellen (Source-Code-
Verwaltung, Continuous Integration, Issue-Tracker)
Siehe auch morgigen Vortrag von Jürgen