Clean Code Python
Entwicklungsprinzipien für „Clean Code“ bei Python
„Clean Code“ ist zwar in aller Munde, aber was soll man sich unter sauberem Code vorstellen, wie kann man ihn konkret erreichen? SOLID-Prinzipien, Tests, Patterns, Metriken und Frameworks wie „behave“ dafür sind nur eine kleine Auswahl möglicher Mittel und Wege. Diese gilt es zu erlernen und sicher einzusetzen. Wir zeigen die wichtigsten Entwicklungsprinzipien und -techniken für „Clean Code“, so dass künftiger Code bei bestehenden und neuen Projekten zu klar voneinander abgegrenzten und verständlichen Strukturen führt.
Grundsätze für sauberen Code / Clean Code Prinzipien
- Was sauberer Code ist
- Kodierungsrichtlinien
- Benennungskonventionen
- Regeln und Grundsätze für sauberen Code
- SOLID-Grundsätze
- Patterns in Python
- Testautomatisierung und testgetriebene Entwicklung
- Refactoring-Werkzeuge
- Code-Metriken
- Erkennen von fragilem Code (Code Smells)
- Der ausgewogene Werkzeugsatz
- Elemente der agilen Programmierung
- Lernen von erfolgreichen Open-Source-Projekten
- Komplexen Code dekonstruieren
Code-Organisation und kontinuierliche Integration
- Python-Projekte strukturieren
- Zusammenarbeit mit Versionskontrollsystemen (git)
- Python-Anwendungen paketieren
- Bereitstellungsoptionen
- Elemente von CI: Test, Build, statische Code-Analyse
- Ein Überblick über Tools, die helfen, besseren Code zu schreiben
- Messen und Verstehen von Code im Laufe der Zeit
Testen
- Überblick über Python-Test-Frameworks
- Erste Schritte bei Verhaltenstests in Python mit Behave
- Wie man eine Testinfrastruktur einrichtet
- Verwendung des pytest-Frameworks und des Kommandozeilen-Tools
- Wie man die Codeabdeckung im Auge behält
- Fortgeschrittene Tests mit pytest fixtures
Pythonischer Code
- Was Pythonic Code ist und warum man sich dafür interessieren sollte
- Lesbarkeit zählt
- Verwendung spezieller Methoden für eine bessere Sprachintegration
- Funktionale Programmierhilfsmittel
- Elegante objektorientierte Programmierung mit Python, Python-Datenstrukturen für den täglichen Gebrauch
- Schreiben von Python-Bibliotheken
Sicherer Code
- Externe Daten immer bereinigen
- Scannen vom eigenen Code und auch den anderer
- Das Internet ist voll von bösen Akteuren, so dass heruntergeladene Pakete kompromittiert sein könnten
- McCoy-Stil: Sie sind ein Programmierer, kein Anwalt
- Verwendung der Python-Standardbibliothek, wo immer es geht
- DEBUG = False in der Produktion setzen
- Python-HTTP-Anfragen sicher behandeln
- Sichere Zeichenketten verwenden und vorsichtig bei der Formatierung von Zeichenketten
- Behutsame (De)serialisierung
- Python-Typ-Annotationen