Benutzer-Werkzeuge

Webseiten-Werkzeuge


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)