Programmierregeln

Im AnderLand gibt es einige Regeln, an die man sich halten sollte. Diese wurden nicht aufgestellt, um den Programmierer zu ärgern, sondern um möglichst viele Fehler, die sich immer wiederholen, im Vorfeld zu verhindern bzw. um den Code für andere Magier lesbarer zu machen.

Magier können diesen Text auch direkt im AnderLand lesen: /doc/AL/Gebote

Hier die wichtigsten Gebote für Magier:

1.  Du sollst keine Tabs verwenden.

2.  Du sollst nicht mehr als 78 Zeichen in eine Zeile packen.

3.  Du sollst keine Klammern statistisch ueber das Programm verteilen. Man
    muss erkennen, welche Klammer zu welchem Befehl gehoert.

4.  Du sollst sauber einruecken. Hinter einer Klammer haben in der naechsten
    Zeile mind. 2 Leerzeichen zu folgen. (aber beachte Punkt 1!)

5.  Du sollst, wo es geht, keine globalen Variablen benutzen.

6.  Du sollst Deinen Funktionen und Variablen einen Typen zuweisen.

7.  Du sollst die Defines aus /sys/ benutzen, auch wenn Du z.B. selbst
    weisst, dass NEUTER = 0 ist...

8.  Du sollst keine call_outs starten, wenn du nicht ueberprueft hast, ob
    bereits ein call_out laeuft.

9.  Du sollst ueberpruefen, ob ein Spieler das Objekt, dass du in ihn
    bewegen willst, ueberhaupt noch tragen kann.

10. Du sollst keine Objekte in Geister bewegen (und beachte Punkt 9!).

11. Du sollst ueberpruefen, ob ein Objekt ueberhaupt existiert, bevor Du 
    mit dem Objekt etwas anstellen willst. Beachte, dass dies auch und
    besonders fuer call_out-Funktionen gilt. Wenn Zeit verstreicht, kann
    ein Objekt zwischendurch zerstoert worden sein.

12. Du sollst gut lesbar proggen, auch wenn du weisst, wie man proggt, damit
    niemand mehr den Code versteht (siehe Punkt 1 bis 7).

13. Du sollst in den Kopf einer Datei schreiben, wer sie wann geaendert hat.
    (Beachte hierbei aber Punkt 1 und Punkt 2!) 

14. Du sollst fuer ascii-Grafiken Alternativen fuer P_SIMPLE_MODE anbieten.
    AddDetail und AddReadDetal haben schon entsprechende Parameter, um dir
    die Arbeit zu erleichtern!
    
15. Du sollst Alternativen fuer P_SIMPLE_MODE anbieten, wenn du einem NPC 
    oder Raum scheinbar etwas sagen laesst. 
    Z.B. write(break_string("Hallo",0,"Der Mann sagt: "); lautet fuer 
    P_SIMPLE_MODE:
      write(break_string("Hallo",0,"Der Mann sagt:",BS_INDENT_ONCE);
    Teste dies! Das sind verschiedene Ausgaben, wenn der Text ueber mehrere
    Zeilen geht!

16. Du sollst keinen Muell hinterlassen. Loesche nach Beendigung deines
    Projektes in /d/ alle *.bat, *.bak, *.old, *.older, *.orig, *~ (und wie
    sie alle heissen) Files, entferne ebenso Verzeichnisse, die nicht mehr
    gebraucht werden!

17. Du sollst fuer Befehle keine Defines benutzen. Kein BS, kein TP, kein
    TPN und TPn und TPU und wie sie alle heissen. Auch andere muessen evtl. 
    deinen Code verstehen und debuggen koennen!

18. Du sollst, wenn du mit Geld arbeitest, die ZENTRALBANK benutzen. Wenn
    du nicht weisst, wie das geht, dann melde dich bei einem Magier, der 
    dir helfen kann!