blob: 847ce20be99a2f97c775ecae0f0cbc18a3ff435c [file] [log] [blame]
Wollt ihr Code in der allgemeinen, oeffentlichen Mudlib anschliessen, bitte
beachtet die folgenden Hinweise zum Codestyle (nicht erschoepfend):
* Einrueckungen per Leerzeichen, nicht Tabs
* Einrueckung von 2 Leerzeichen pro Ebene
* praegnante und viele Kommentare
* Kommentare sollen nicht (nur) beschreiben, was der Code tut, sondern
vor allem, was er tun soll und warum.
* keine lambdas
* Bei inline-closures die function-Syntax statt der (: :)-Syntax verwenden.
* else, else if in eine eigene Zeile
* { am Beginn von Bloecken soll in eine eigene Zeile.
* Nach ifs, Loops & Co: umfasst der davon kontrollierte Code mehr als eine
physische Zeile Code, einen Block mit { } formulieren.
* keine return fun(), 0;
* (type) Casts sollten vermieden werden.
(type) konvertieren nur, wenn die Typen zur Compilezeit *bekannt* und
unterschiedlich sind. Eine Alternative sind to_type(), wenn noetig.
* Bei Callother in Programmen mit #pragma strict_types muessen deklarative
Casts ({type})call_other(...) verwendet werden, um dem Compiler zu sagen,
Typ das Ergebnis haben sollte. Der Compiler fuegt an der Stelle im Code auch
eine Pruefung ein, welche zur Laufzeit ausgefuehrt wird.
* Pfade, die absolut sind, sollen auch mit / beginnen, z.B.
inherit "/std/thing", nicht inherit "std/thing"
Commits und Patches
* Bei Patches bitte keine inhaltlichen Aenderungen mit jeder Menge
Whitespace-Aenderungen vermischen.
* Pro Patch bitte nur eine inhaltliche Aenderungen einschliessen
* Jeder Commit muss eine aussagekraeftige Commitmeldung haben und
folgendem Style entsprechen:
* Die erste Zeile ist der Betreff
Dieser beschreibt in 50-60 Zeichen, worum es geht
* Eine leere Zeile
* Beliebig viele Zeilen mit Beschreibung von max. 70 Zeichen Laenge
Dieser Text sollte erklaeren, Warum und Wieso der Aenderung.
* Commits sollten sich sauber auf die aktuelle Spitze vom master-Zweig
anwenden lassen. (Bzw. zumindest nicht schon Wochen alt sein.)
Benennung von Properties:
* der interne Name von Properties in der Basis-Mudlib beginnt immer mit
"p_lib_". Niemand sonst sollte Properties mit diesem Praefix erstellen.
Sonstiges:
* In der Mudlib wird keine neue Funktion(alitaet) angeschlossen, bevor die
Dokumentation dafuer fertig ist.
Am liebsten ist mir, bei der Konzeptentwicklung zuerst die fertige
Dokumentation (Manpage) fuer Nutzer/Spieler zu entwickeln, bevor ein Magier
ueberhaupt eine Zeile Code schreibt.
* Patches muessen eine Zusammenfassung haben, welche kurz erlaeutert,
was dieser Patch fixen/aendern/verbessern soll und auf welche Weise
diese umgesetzt wird. (Anders gesagt: eine Commit-Message)
* Bei Aenderungen von Manpages bitte nur bei inhaltlichen Aenderungen den
Abschnitt "Letzte (inhaltliche) Aenderung" aktualisieren.
LETZTE INHALTLICHE AeNDERUNG:
18.2.2018, Zesstra