Informatik Softwareentwicklung – Clean Code und Lesbarkeit
Karteikarten zum Thema „Informatik“ · 15 Karten · von atrio. Beispiele: Was ist die Kernforderung von Clean Code? · Was besagt die Boy-Scout-Regel in der Sof…
Karten
15 KartenWas ist die Kernforderung von Clean Code?
Rückseite
Code muss für Menschen lesbar sein, nicht nur für Compiler. Lesbarkeit hat Vorrang vor Cleverness oder Performance-Optimierung ohne Not.
Was besagt die Boy-Scout-Regel in der Softwareentwicklung?
Rückseite
Hinterlasse den Code immer etwas sauberer, als du ihn vorgefunden hast. Kleine Verbesserungen bei jedem Kontakt verhindern technischen Schuldenberg.
Was fordert das DRY-Prinzip (Don't Repeat Yourself)?
Rückseite
Jedes Wissen darf genau einmal im System existieren. Duplikation führt zu Inkonsistenzen bei Änderungen – extrahiere gemeinsame Logik in Funktionen oder Klassen.
Was bedeutet KISS (Keep It Simple, Stupid) für Clean Code?
Rückseite
Bevorzuge die einfachste Lösung, die funktioniert. Vermeide übertriebene Abstraktionen, Design Patterns ohne Not und vorzeitige Generalisierung.
Wie viele Zeilen sollte eine Funktion idealerweise haben?
Rückseite
Eine Funktion sollte 5 bis 20 Zeilen umfassen. Längere Funktionen verletzen Single Responsibility und sind schwerer zu testen und zu verstehen.
Was unterscheidet guten Variablennamen von einem Kommentar?
Rückseite
Ein sprechender Name wie 'isUserAuthenticated' macht den Code selbsterklärend. Kommentare veralten, guter Code erklärt sich selbst durch Naming.
Wann ist ein Kommentar im Clean Code gerechtfertigt?
Rückseite
Nur für 'Warum'-Erklärungen (Business-Entscheidungen, Workarounds, Optimierungsgründe). 'Was'- und 'Wie'-Kommentare sind überflüssig bei gutem Naming.
Wie benennt man boolesche Variablen und Funktionen konsistent?
Rückseite
Präfixe wie 'is', 'has', 'can', 'should' nutzen: 'isValid', 'hasPermission', 'canExecute'. Vermeide Negative wie 'isNotValid'.
Was ist eine Magic Number und wie eliminiert man sie?
Rückseite
Hardcodierte Zahlenwerte ohne Kontext (z. B. '86400'). Ersetzen durch benannte Konstanten: 'SECONDS_PER_DAY = 86400'.
Wie viele Parameter sollte eine Funktion maximal akzeptieren?
Rückseite
Ideal 0–2 Parameter. Ab 3 Parametern: Parameter-Objekt oder Builder-Pattern nutzen. Viele Parameter deuten auf zu viele Verantwortlichkeiten hin.
Was ist ein Side Effect bei Funktionen und warum vermeidet man ihn?
Rückseite
Änderung von State außerhalb der Funktion (Globale Variablen, Parameter, I/O). Reine Funktionen ohne Side Effects sind testbar, parallelisierbar und vorhersehbar.
Wie behandelt Clean Code Fehler statt Fehlercodes zurückzugeben?
Rückseite
Exceptions werfen statt Error-Codes. Try-Catch-Blöcke isolieren Fehlerbehandlung. Exceptions erlauben Stacktraces und können nicht ignoriert werden wie Return-Codes.
Was unterscheidet Cohesion von Coupling?
Rückseite
Cohesion: Wie stark Elemente innerhalb eines Moduls zusammengehören (hoch = gut). Coupling: Wie stark Module voneinander abhängen (niedrig = gut).
Woran erkennt man den Code Smell 'Long Method'?
Rückseite
Methode > 20 Zeilen, viele lokale Variablen, tiefe Verschachtelung, mehrere Verantwortlichkeiten. Lösung: Extract Method für logische Blöcke.
Was besagt das Law of Demeter (Principle of Least Knowledge)?
Rückseite
Ein Objekt darf nur mit direkten Nachbarn sprechen: this, Parameter, selbst erstellte Objekte, Komponenten. Vermeidet 'Train Wrecks' wie a.getB().getC().doSomething().