@ -161,6 +161,31 @@ _Commits_ sind Veränderungen am eventuell bereits bestehenden Code des Projekte
- Code der sich schwer bis gar nicht (automatisiert) testen lässt
- Code der sich schwer bis gar nicht (automatisiert) testen lässt
- zu viele Abhängigkeiten (_tight coupling_)
- zu viele Abhängigkeiten (_tight coupling_)
- Konfiguration der Unit zu groß
- Konfiguration der Unit zu groß
- P:
- Premature optimization
- _erst um Performance kümmern wenn es ein Problem gibt_
- bringt bei Programmiersprachen wie Java oder C# so gut wie nix _schnellere Keywords_ zu verwenden
- beeinträchtigt aber Lesbarkeit mitunter
- Lesbarkeit sehr wichtig --> Code wird in der Regel nur einmal geschrieben aber hunderte Male gelesen
- wenn Optimierung von Nöten sein sollte dann mit dafür gedachten Profilingtools
- selbstgeschriebene Tests funktionen oft nicht
- bei vielfacher Ausführung übersetzt unteranderem Java Codeteil in Maschienencode --> verfälscht Messergebnisse
- Performanceprobleme kommen oft nicht von _schlechten oder langsamen Keywords_ sondern von unnötigen Iterationen durch unter anderem Schleifen
- I:
- Indescriptive naming
- Codeteil, der nicht selber erklärt was macht
- oft sind schlechte Bezeichner daran schuld
- lieber lange Namen
- IDEs nehmen Tipparbeit ab --> kein Grund kurze, nicht schlüssige Begriffe zu wählen (außer bei öffentlichen Methoden, dort sollten die Namen nicht zu lange sein)
- D:
- Duplication of code:
- Codeblöcke dublizieren sorgt für Änderungsanomalien
- Rule of 3 --> auch _nur_ 2 Mal vorhandener Code kann Probleme verursachen!