Hauptsatz der Programmierung:
Es ist absolut unnötig, Programme zu testen oder zu dokumentieren.
Beweis:
- Konstruktives Verfahren von Blankenburg:
Man mache die Algorithmen gleich richtig; dann weiß man, dass sie laufen,
und damit erübrigt sich jeglicher Test.
Der Vorteil dieses Verfahrens liegt darin, dass es keinerlei Dokumentation
vorsieht, denn bei einem korrekten Programm wird überhaupt nichts geändert.
- Redundanzausschluss nach Mooser:
Bei Programmen, von denen man weiß oder vermutet, dass man sie nicht
braucht, entfallen Test und Dokumentation.
- Ward'sches Dual-Prinzip zu Mooser (ii):
Bei Programmen, von denen man weiß, dass die Aufgabenstellung
falsch ist, die man jedoch entwickeln muss, entfallen sowohl
Test als auch Dokumentation.
Bemerkungen zu (ii) und (iii):
- Diese beiden Kategorien von Programmen definieren den sogenannten WRITE-ONLY-Typ.
- Bei Programmen vom WRITE-ONLY-Typ kann man unter Umständen sogar auf das "WRITE" verzichten.
- Richter'sches Prinzip:
Es ist vollkommen gleichgültig, ob man Programme dokumentiert oder nicht. Ein
anderer versteht das Programm sowieso nicht und entwickelt es deshalb selbst neu.
Aufgabe: Der Leser möge den Beweis dazu selbst führen, dass in dieser
Kategorie kein Test notwendig ist.
- Prinzip der Autoren-Abhängigkeit (Verfahren von Christian):
Bei Programmen, bei denen man eine hohe Autoren-Abhängigkeit erzielen möchte,
entfällt die Dokumentation.
Bemerkung 1: In der Original-Version dieses Verfahrens ist auch auf die Bedeutung
der Assembler-Sprachen hingewiesen worden. In einer späteren Veröffentlichung
weist der Autor auf die Verwendbarkeit von FORTRAN 77 in seinem Verfahren hin.
Bemerkung 2: Bemerkenswert ist, dass bei diesem Verfahren kein Test benötigt
wird, denn es ist immer möglich, jeden Benutzer auf seine eigenen Fehler aufmerksam zu machen.
- Klau-Schutz-Prinzip (KSP genannt):
Bei Programmen, von denen man weiß, dass sie über kurz oder lang geklaut
werden, entfallen Test und Dokumentation.
- Prinzip der Faulheit des Universums: Wozu Test und Dokumentation?
(nach H. Weber und J. Grami)