Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
se:lessonslearned [2012-03-22 20:22] stefan |
se:lessonslearned [2012-03-29 09:53] stefan |
||
---|---|---|---|
Zeile 6: | Zeile 6: | ||
* 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). | * 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} |