diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 6e11146..395e6a0 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -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 - zu viele Abhängigkeiten (_tight coupling_) - 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! + +