Clean Code Richtlinien - notrautmann/TINF23CS1 GitHub Wiki
1. KISS - Keep It Stupid And Simple
- Stets die einfachste Lösung für ein Problem suchen oder nutzen
2. DRY - Don't Repeat Yourself
- Wiederholung von Software-Mustern reduzieren
- Ersetzung durch Abstraktion
3. SRP – Single Responsibility Principle
- Jede Funktion, Klasse und jedes Modul soll genau eine Aufgabe haben.
- Trenne z. B. Datenverarbeitung, Datenbankzugriff und UI voneinander.
4. Meaningful Names – Sag, was du meinst
- Namenskonvention einhalten: Verb + Bezeichner
calculate_bill()
- Keine kryptischen Abkürzungen im Code.
- Verwenden von Englisch im Code
- Nutze Snake-Case für Variablen/Funktionen/Dateien/Ordner (
order_id
,print_bill()
,connection.py
). - Nutze Pascal-Case für Klassen (
DbConnection
) - Nutze Screaming Case für Konstanten (
STATUS_COMPLETE
)
5. Short and Focused – Funktionen klein halten
- Eine Funktion sollte möglichst maximal 20 Zeilen lang sein.
- Eine Funktion = eine Aufgabe = ein Abstraktionsniveau.
6. Fail Fast – Fehler früh und klar behandeln
-
Verwende
try/except
, wo Fehler auftreten können, aber keine leeren Blöcke:try: order.save() except Database as e: logger.error(f"Error during saving: {e}")
-
Validierungen so früh wie möglich durchführen (
if not
,assert
). -
Vermeide
except: pass
.
7. No Magic – Keine magischen Zahlen oder Strings
-
Verwende Konstanten:
STATUS_COMPLETE = 3 if order.status == STATUS_COMPLETE: ...
-
Gruppiere Konstanten z.B. in einer
constants.py
Datei.
8. Clean Structure – Projekt sauber strukturieren
- Logische Modulstruktur (z.B.
produkte/
,kunden/
,bestellungen/
). - Trenne UI, Logik, Datenbankzugriff.
9. Test Everything – Tests sind Teil des Codes
- Testrichtlinien einhalten
10. Kommentiere sinvoll
- Kommentierungsregeln einhalten
11. Verwende Pylinth - Statische Codeanalyse
- Verwende Pylith zur statischen Codeanalyse