|
|
|
@ -11,12 +11,22 @@
|
|
|
|
|
- Wann ist ein Test wichtig? Wenn er Klärung bringt
|
|
|
|
|
- Bringt diese Zeile Code mir etwas?
|
|
|
|
|
- Befriedigt sie nur irgendwelche Frameworks oder Patterns?
|
|
|
|
|
- Wozu braucht man während eines Rennens eine Klimaanlage oder elektrische Fensterheber?
|
|
|
|
|
2. Alles hat seine Kosten
|
|
|
|
|
- Meistens kostet es dich Komplexität
|
|
|
|
|
- Und damit den Verstand
|
|
|
|
|
- Vergleichbar mit Werbung und Aufmerksamkeit
|
|
|
|
|
- Cyclomatic Complexity / Cognitive Complexity
|
|
|
|
|
- Physik: überschüssige Energie wird Wärme; Code: überschüssiger Code wird Komplexität
|
|
|
|
|
|
|
|
|
|
- Quattro-Autos waren schwerer als die Konkurrenz, brauchten mehr Leistung, die Fahrer mussten lernen, mit den Wagen zu fahren
|
|
|
|
|
3. Verbaue dir nicht deine Möglichkeiten
|
|
|
|
|
- Änderungen werden kommen (Kunde)
|
|
|
|
|
- Änderungen werden nötig sein (Architektur)
|
|
|
|
|
- Du wirst Änderungen vornehmen wollen (Aufräumen)
|
|
|
|
|
- Es wird inkompatible Änderungen geben (DB)
|
|
|
|
|
- Keine Annahmen treffen, explizit sein
|
|
|
|
|
- Nicht zuviel in einer Aufrufhierarchie machen
|
|
|
|
|
- Das Differential muss auf der Rennstrecke tauschbar sein
|
|
|
|
|
|
|
|
|
|
## Was
|
|
|
|
|
|
|
|
|
|