Coding Guidelines


Für Programmierer Richtlinien zu entwerfen, die ausnahmslos akzeptiert werden, ist eine schwierige Aufgabe. Irgendwie ist man doch zu sehr Individualist. Kommen unterschiedliche Programmiersprachen zum Einsatz, wird es besonders schwierig. Ganz ohne Regeln geht es aber nicht denn das endet im Chaos. Es ist wichtig, einen gemeinsamen Nenner zu finden.
Die Richlinien auf dieser Seite habe ich mir nach langjähriger Erfahrung zusammen mit Kollegen erarbeitet und ich versuche sehr, mich an ihnen zu orientieren. Das gelingt nicht immer. Die Coding Guidelines auf dieser Seite sollen deshlab nicht als ultimative Wahrheit gelten. Vielmehr sind sie eine Anregung, wie Regeln aussehen könnten. Es ist ein Anfang, mehr nicht.

Klassen
  • Die Namen von Klassen sind Substantive.
  • Schreibweise als Substantiv/substantiviertes Verb z.B. Player, Person, Downloder, nicht GetWebPage.
  • Klassen die Steuerelemente repräsentieren sollten an ihrem Namen erkenbar sein z.B. ResultWindow, NumericTextBox.
Öffentlichen Eigenschaften
  • Die Namen öffentlicher Eigenschaften sind Substantive.
  • Die Namen beginnen mit einem Großbuchstaben. z.B. EntryPoint, AccountingData.
  • Boolsche Typen sollten als Frage formuliert werden z.B. HasCompleted, CanDelete, IsCanceled.
Private Felder
  • Die Namen privater Felder sind Substantive.
  • Die Namen beginnen mit einem Unterstrich gefolgt von einem keinen Buchstaben z.B. _auditChecker, _instanceDocument.
  • Boolsche Typen sollten als Frage formuliert werden z.B. isFinished, canDelete, isCanceled.
Methoden/Funktionen
  • Die Namen von Methoden beginnen mit einem Großbuchstaben.
  • Die Namen werden mit einem Verb beginnend geschrieben und sollten eine Vorgang beschreiben z.B. GetCount, CalculateFee.
  • So wenig wie möglich Parameter übergeben. Im Zweifelsfall lieber eine Methodenüberladung schreiben.
  • Methoden sollten nicht null zurückgeben, es sei denn, der Methodename lässt darauf schließen: GetItemByIdOrNull, FirstOrDefault
Steuerelemente
  • Die Namen von Steuerelementen sind Substantive.
  • Vom Speziellen zum Allgemeinen. modelvarinateTextBlock nicht textBlockModelvariante.
Interfaces
  • Die Namen der Interfaces beginnen mit einem großen I.
  • Weil ein Interface eine Klassen zu etwas »befähigen« erhalten sie gegebenenfalls die Endung »able« z.B. ISortable, IComparable.
Events
  • Die Namen beginnen mit On und sind Verben. z.B. OnLoaded, OnDocumentOpen.
  • Vom Speziellen zum Allgemeinen. OnPdfButtonClick nicht OnButtonPdfClick.

Aktualisiert am: 10.10.2023
Technologien: Clean Code