1w6
Published on 1w6 (http://1w6.rakjar.de)

Startseite > Yagni - OT: Geschichte aus der Entwicklung

Yagni - OT: Geschichte aus der Entwicklung

Diese Geschichte habe ich für eine Vorlesung in der Uni geschrieben. Sie zeigt einen Teil unserer Programmierarbeit, und wo dabei ein Muster (Pattern) [1] sichtbar wurde, das Zeit gespart hätte.
- Arne [2]

Yagni - You aren't gonna need it - Geschichte

Ich habe das Yagni-Prinzip im Oktober 2007 kennengelernt, oder besser: Ich habe gemerkt, warum wir uns daran halten sollten.

Einen Monat zuvor hatten wir begonnen, unser Schlachtfeld-Programm zu überarbeiten. Es sollte komplexere Schlachten ermöglichen, nicht nur zwei Armeen, von denen Kämpfer aufeinander treffen, sondern beliebig viele einzelne Gruppen, die Schlachtreihen bildern, zu beliebig vielen Armeen gehören und Anführer und Armeen haben, die die Moral heben und Strategien ausarbeiten.

Ein wichtiger Aspekt daran waren Kampfstile der einzelnen Kämpfer.

Wir arbeiteten zwei Stunden daran, die Kampfstile zu prüfen, zu debuggen und zu entscheiden, was wir brauchen, um alle denkbaren Stile zu unterstützen, und wir haben einen halben Morgen daran verloren.

Am Ende traten wir einen Schritt zurück, warfen einen Blick auf den Code und merkten, dass das völlig unerheblich war.

Der Kampfstil-Code war in zwei Klassen gekapselt, und schon eine sehr einfache Version konnte die für's Erste notwendigen Stile unterstützen, und sie würde viele der Probleme von komplexeren Varianten vermeiden (z.B. "Wenn einer flieht und der Andere bis zum Tod kämpft, also stirbt, wenn er verliert, was pasiert, wenn der Fliehende gewinnt?" Antwort: "Wir lassen die Komplexität weg. Wenn einer es schafft zu fliehen wird ein Todesstil einfach weniger tödlich, und es gibt zur Zeit keine Notwendigkeit, das zu verallgemeinern.").

Wir rissen die Hälfte des überkomplexen Codes raus und implementierten, was wir aktuell brauchen, und jetzt läuft der Teil des Codes wie er soll.

Wir haben mehrere weitere Stunden aktuell unnötige Arbeit an Verallgemeinerung gespart. Sollten wir allgemeine Stile brauche, können wir sie immernoch hinzufügen, aber dann in ein voll funktionierendes und bereits nützliches Programm.

Unsere Motivation ist gestiegen, das Programm läuft, und gestern habe ich die Versionsverwaltung für Quelldateien deutlich verbessert, aber das ist eine Geschichte für einen anderen Tag.


GNU General Public License v3

Das 1w6-System ist ein schlankes, frei lizensiertes, universell einsetz­bares Rollen­spielregel­werk,
das es Welten­bastlern und Spiel­leitern erleichtern soll,
ihre Welt oder Kam­pagne als Rollenspiel zu ver­öffent­lichen.

Alle Inhalte sind unter freien Lizenzen verfügbar.
Das Urheber­recht liegt bei Autorin oder Autor des jeweiligen In­haltes.
Bevor Du selbst etwas schreibst, lies bitte die Lizenz­bedingungen.

Diese Seite nutzt für ihr Funktionieren notwendige Cookies (und nur die). Und Bilder. Manchmal auch Text. Eins davon müssen wir erwähnen…

Druckversion

Source URL (retrieved on 2025-05-17 08:38): http://1w6.rakjar.de/deutsch/module/npc-k-mpfe-und-schlachten-nkus/yagni-ot-geschichte-aus-der-entwicklung

Links:
[1] http://de.wikipedia.org/wiki/Entwurfsmuster
[2] http://1w6.rakjar.de/uzanto/drak