Kurs »Clean Code« (CS22)

Kursverantwortlich
Prof. Dr. Frank Schimmel
Sprache
deutsch
Kreditpunkte
3 ECTS
Arbeitsaufwand
40h Kontaktzeit / 50h Selbstlernzeit
Kompetenzcluster
Software Development and Architecture
Gehört zum Modul
Coding Software 2
Teilmodulprüfung
Präsentation, am 2. Freitag im Block (benotet)

Angestrebte Lernergebnisse / Learning Outcomes

Die Studierenden sind in der Lage, qualitativ hochwertigen Code zu produzieren, indem sie

  • die Code-Qualität ex-ante durch passende Coding-Guidelines sicherstellen,
  • die Prinzipien des Clean Code (Bob Martin) verinnerlichen und anwenden,
  • die Qualität des Codes ex-post durch passende Techniken sicherstellen (TDD)und verbessern (Refactoring),
  • die Qualität des Codes in “-ities” messen und bewerten (Usability, Maintainabily, Scalability, Security, Reliability, …),

so dass der Code langfristig wartbar bleibt, selbsterklärend ist und effiziente Teamarbeit ermöglicht.

Inhalt

  • Clean-Code als elementares Leitmotiv beim Coding
    • Konzepte “Bad Smells” und Antipatterns
    • Gängige, oft auftretende Antipatterns / Bad Smells
  • Refactoring als Methode und Haltung
    • Richtiges Vorgehen beim Refactoring
  • Test-Driven- und Business-Driven Development als Paradigmen
    • Zusammenspiel mit Clean Code Methoden
    • Praktische Hinweise zu einem pragmatischen Umgang

Lehr- und Lernformen

  • Vorlesung
  • Gastvortrag externer Referenten
  • Seminar
  • Übung
    • TDD: Dozenten stellen Unit Tests zur Verfügung, Studierende implementieren als erste Übung dagegen
  • Anwendung auf konkretes Projekt:
    • Refactoring: Bad Smell oder Antipattern im eigenen Projekt finden und durch Refactoring beheben
    • TDD: neues Feature zu eigenem Code hinzufügen

Materialien/ Ressourcen

  • Blaupausen und Tutorials für Software-Entwicklung (IDEs, Sourcecode-Management, …)