se:lessonslearned
Lessons Learned
Probleme beim Entwickeln, die auf einen schlechten Entwurf hindeuten
Methoden geben Arrays mit benannten Indizes (assoziative Arrays) zurück → deutet auf die Notwendigkeit einer neuen Klasse (oder besser eines Structs) mit den Array-Indizes als Attribute hin
beim Entwickeln einer Klasse stellt man fest, dass sie am Besten von zwei Basisklassen erben sollte, um ihre Funktionalität zu implementieren → die Klasse hat wahrscheinlich zu viele Verantwortlichkeiten und muss aufgeteilt werden
beim Erstellen von Tests für eine Klasse werden dieser Attribute/Methoden hinzugefügt, die nur vom Test benötigt werden und nicht von "normalen" Klassen → diese Attribute/Methoden sollten eliminiert und die Vorgehensweise der Tests überdacht werden; wahrscheinlich werden Interna getestet, die besser anders geprüft werden sollten
Methoden in Interfaces haben unterschiedliche Abstraktionsstufen, z.B. LiesCsvDaten()
(Textverarbeitung) und ErzeugePerson()
(fachliche Logik).
Tägliche Arbeit
Man kann jede (noch so langweilige) Routine-Programmieraufgabe zu einer interessanten machen, indem man dabei neue Dinge ausprobiert, z.B. "reines" TDD, 100% Code Coverage, Mutationstesten usw. \cite{RubyRogues47}
se/lessonslearned.txt · Zuletzt geändert: 2014-04-05 11:42 (Externe Bearbeitung)