Die Module in diesem Themenkomplex beschäftigen sich nicht primär mit einzelnen Sprach-Features von Python sondern mit der Frage: Wie verwende ich die Features von Python um Programm-Code zu schreiben, der möglichst wenige Fehler hat, und leicht zu verstehen, zu ändern und zu erweitern ist. Die Module in diesem Abschnitt beschränken sich dabei hauptsächlich auf relativ “lokale” Programmbestandteile wie einzelne Funktionen und Klassen.
Natürlich gehen wir auch in den Modulen, die die entsprechenden Sprachkonstrukte einführen darauf ein, wie man sie gut verwendet; die Module in diesem Abschnitt vertiefen die Techniken weiter und gehen auch auf Aspekte ein, für die in einem typischen Python Grund- oder Aufbaukurs keine Zeit bleibt.
Agile Programmieren: Agile Techniken helfen “Technical Debt” gering zu halten und die Software so flexibel zu halten, dass der Einbau neuer Features über die gesamte Lebensdauer des Projekts möglich bleibt.
Folgende Schwerpunkte beinhaltet das Modul Clean Code / Clean Unit Test in Python:
- Code Styles in Python: PEP-8 und Erweiterungen
- Tools zur Verbesserung der Code-Qualität (Linter, Type-Checker)
- Clean Code: Namen, Kommentare, Funktionen
- Effektiver Code und Best Practice in Python
- Testen mit Pytest
- Test Driven Development (TDD)
- Test-first Development Techniken
- Behavior Driven Development (BDD)
- Ausführbare Spezifikationen (cucumber/behave)
- Refactoring Patterns und Refactoring Techniken in Python