Das Prinzip PLA

Prin­ciple of least astonish­ment

Über­rasche nie­mals den Leser

clean-code-developer

Das Prinzip PLA ist eine gol­dene Regel in der Mensch-Com­puter-Inter­aktion und der Soft­ware-Ent­wick­lung. Soft­ware sollte über­raschungs­arm imple­mentiert sein. Eine Abfrage­methode (engl. getter), die nicht nur einen Wert liefert, sondern gleich­zeitig den Zustand der Klasse ändert, wäre über­raschend und in der Regel uner­wünscht.

Das Prinzip PLA lässt sich aber auch gut auf die Doku­mentation mit cards+ über­tragen. Jeder Bau­stein im Wiki hat genau einen Zweck, hat fest­gelegte Abschnitte und ist das Ergeb­nis eines bestimmten Prozesses im Ent­wicklungs­projekt. Jeder Leser im Wiki weiß aus diesem Grund sehr genau, was ihn bei der Lek­türe erwartet.

Eine wich­tige Regel muss jeder Autor im Wiki darum beach­ten. Für die Erfassung von Inhalten für die Produkt­doku­mentation darf er nur die vor­defi­nierten Bau­steine ver­wenden. Gibt es für eine bestimmte Infor­mation keinen geeig­neten Bau­stein, dann ist diese Infor­mation Teil der Projekt­doku­mentation. Zu dieser Kategorie von Doku­menten gehören bei­spiels­weise Proto­kolle, Zwischen­berichte oder Studien. Alle Arbeits­unter­lagen zur Projekt­organi­sation (z.B. Berichte an das Manage­ment) oder zur Prozess­steuerung (z.B. das Backlog bei Scrum) gehören eben­falls zur Projekt­doku­mentation.

Leser erwar­ten eine Beschrei­bung im Wiki, die zum Bau­stein passt.

  • In einem Bau­stein Service möchte er etwas über einen Dienst erfah­ren. Er möchte wissen, mit wel­chen Techno­logien der Dienst gebaut wird, wel­che Beson­der­heiten der Dienst bezüg­lich Ver­hal­ten beim Neu­start, in der Daten­hal­tung oder Daten­ver­arbei­tung hat. Dazu eignen sich eine Spezifi­kation, die von den Ent­wick­lern geschrie­ben wird und im Wiki für die Leser ver­öffent­licht wird.
  • Die Bau­steine Event und Entity repräsen­tie­ren wich­tige Objekte. Die Spezifi­kation dazu ent­steht auto­matisch, wenn Ent­wick­ler eine Beschrei­bungs­sprache für Daten­struk­turen ver­wen­den. Das Ergeb­nis ist eine Schema-Datei. Sie kann ohne weitere Bear­bei­tung durch die Ent­wick­ler direkt im Wiki für Leser ver­öffent­licht werden, weil die Schema-Datei bereits gut les­bar ist.
  • In einem Bau­stein Case wird eine Fähig­keit der Soft­ware beschrie­ben. Der Regres­sions­test ist der Nach­weis, dass alle ange­for­der­ten Fähig­kei­ten der Soft­ware fehler­frei sind. Die Test­fälle sind daher sehr gut geeig­net, um einem Leser zu zei­gen, was die Soft­ware leis­tet.

Zusammen­fassend bedeu­tet das Prin­zip PLA nichts ande­res, als die konse­quente Ver­wen­dung der Bau­steine.