blob: 443849163573b106c35d4e08b5dfe5b08fa4a034 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001Wollt ihr Code in der allgemeinen, oeffentlichen Mudlib anschliessen, bitte
2beachtet die folgenden Hinweise zum Codestyle (nicht erschoepfend):
3
4* Einrueckungen per Leerzeichen, nicht Tabs
Zesstrae01eee92022-01-22 11:20:50 +01005* Einrueckung von 2 oder 4 Leerzeichen pro Ebene
MG Mud User88f12472016-06-24 23:31:02 +02006* praegnante und viele Kommentare
Zesstra396e9c12018-02-18 23:22:22 +01007* Kommentare sollen nicht (nur) beschreiben, was der Code tut, sondern
8 vor allem, was er tun soll und warum.
MG Mud User88f12472016-06-24 23:31:02 +02009* keine lambdas
10* Bei inline-closures die function-Syntax statt der (: :)-Syntax verwenden.
11* else, else if in eine eigene Zeile
12* { am Beginn von Bloecken soll in eine eigene Zeile.
13* Nach ifs, Loops & Co: umfasst der davon kontrollierte Code mehr als eine
14 physische Zeile Code, einen Block mit { } formulieren.
15* keine return fun(), 0;
Zesstrae01eee92022-01-22 11:20:50 +010016* Folgende #pragmas sind zwingend:
17 rtt_checks (impliziert save_types)
18 strong_types (strict_types in neuem Code empfohlen)
19 warn_deprecated, warn_empty_casts, warn_missing_return, warn_dead_code,
20 warn_function_inconsistent, warn_applied_functions, range_check,
21 warn_unused_variables, warn_unused_values
MG Mud User88f12472016-06-24 23:31:02 +020022* Pfade, die absolut sind, sollen auch mit / beginnen, z.B.
23 inherit "/std/thing", nicht inherit "std/thing"
Zesstrae01eee92022-01-22 11:20:50 +010024* Der Code darf *keine* Warnungen des Compilers oder Laufzeitwarnungen
25 ausloesen!
MG Mud User88f12472016-06-24 23:31:02 +020026
Zesstra396e9c12018-02-18 23:22:22 +010027Commits und Patches
28* Bei Patches bitte keine inhaltlichen Aenderungen mit jeder Menge
29 Whitespace-Aenderungen vermischen.
30* Pro Patch bitte nur eine inhaltliche Aenderungen einschliessen
31* Jeder Commit muss eine aussagekraeftige Commitmeldung haben und
32 folgendem Style entsprechen:
33 * Die erste Zeile ist der Betreff
Zesstrae01eee92022-01-22 11:20:50 +010034 Dieser beschreibt in max. 50-60 Zeichen, worum es geht
Zesstra396e9c12018-02-18 23:22:22 +010035 * Eine leere Zeile
36 * Beliebig viele Zeilen mit Beschreibung von max. 70 Zeichen Laenge
Zesstrae01eee92022-01-22 11:20:50 +010037 Dieser Text sollte die Aenderung erklaeren und auch das "Warum und
38 Wieso" der Aenderung erlaeutern.
Zesstra396e9c12018-02-18 23:22:22 +010039* Commits sollten sich sauber auf die aktuelle Spitze vom master-Zweig
40 anwenden lassen. (Bzw. zumindest nicht schon Wochen alt sein.)
41
MG Mud User88f12472016-06-24 23:31:02 +020042Benennung von Properties:
43* der interne Name von Properties in der Basis-Mudlib beginnt immer mit
44 "p_lib_". Niemand sonst sollte Properties mit diesem Praefix erstellen.
45
46Sonstiges:
47* In der Mudlib wird keine neue Funktion(alitaet) angeschlossen, bevor die
48 Dokumentation dafuer fertig ist.
49 Am liebsten ist mir, bei der Konzeptentwicklung zuerst die fertige
50 Dokumentation (Manpage) fuer Nutzer/Spieler zu entwickeln, bevor ein Magier
51 ueberhaupt eine Zeile Code schreibt.
52* Patches muessen eine Zusammenfassung haben, welche kurz erlaeutert,
53 was dieser Patch fixen/aendern/verbessern soll und auf welche Weise
54 diese umgesetzt wird. (Anders gesagt: eine Commit-Message)
Zesstra6049baf2018-02-18 23:03:17 +010055* Bei Aenderungen von Manpages bitte nur bei inhaltlichen Aenderungen den
56 Abschnitt "Letzte (inhaltliche) Aenderung" aktualisieren.
MG Mud User88f12472016-06-24 23:31:02 +020057
Zesstra6049baf2018-02-18 23:03:17 +010058LETZTE INHALTLICHE AeNDERUNG:
Zesstrae01eee92022-01-22 11:20:50 +010059 22.1.2022, Zesstra
MG Mud User88f12472016-06-24 23:31:02 +020060