Benutzer-Werkzeuge

Webseiten-Werkzeuge


se:lessonslearned

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
se:lessonslearned [2010-01-13 09:12]
stefan angelegt
se:lessonslearned [2014-04-05 11:42] (aktuell)
Zeile 5: Zeile 5:
   * 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 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   * 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.1263370343.txt.gz · Zuletzt geändert: 2014-04-05 11:42 (Externe Bearbeitung)