Entwicklerleitfaden / Leitfaden Codestyle
Allgemeine Hinweise
- Sprechende Namen verwenden
- Zeilenumbruch nach Operator, Komma; Einrücken nach Zeilenumbruch
- Leerzeilen verwenden, um logische Einheiten voneinander zu trennen und Deklarationen von Anweisungen abzusetzen
- keine ungarische Notation
General references
- use significant names
- Line break after operator, comma; indent after line break
- Use blank lines to separate logical units from each other and to declare statements
- no Hungarian notation
Codeelemente .NET
Codeelement | Sprache | Schreibweise | Hinweise & Beispiele |
---|---|---|---|
Klasse | Engl. | PascalCase | Eine Klasse pro Datei |
Darstellung | Aufbau von Klassen, Klassen/Interface-Deklaration, Felder, Properties, Konstruktor, Methoden. Pro Datentyp 1 View. | ||
Interface | Engl. | PascalCase | public IMyInterface |
Feldname | Engl. | PascalCase | public String InvNumber {get; set; } |
Methode | Engl. | PascalCase | public void Calculation #Aktive Verb-Nomen-Form |
Variable | Engl. | CamelCase | String invoiceNumber |
Instanzvariable | Engl. | CamelCase | private String invoiceNumber #keinen führenden Unterstrich |
Parameter | Engl. | CamelCase | DoCalculation(int cntPos, decimal pricePos) |
Konstanten | Engl. | PascalCase | const int NumDaysOfWeek = 4 |
Events | Engl. | PascalCase | MouseEventHandler(object sender, MouseEventsArgs e) |
GUI | Dt. | PascalCase | |
Komponente | Engl. | PascalCase | |
DB-Tabelle | Engl. | Lowercase | public String eq_invNumber {get; set; } |
DB-Spalte | Engl. | Kleinschreibung | lastname_new #nicht EmployeeLastName |
Kommentare | Dt. / Engl. | - | Bei neuralgischen Punkten in Englisch kommentieren |
Codeelemente Python
Codeelement | Sprache | Schreibweise | Hinweise & Beispiele |
---|---|---|---|
Klasse | Engl. | Lowercase | Eine Klasse pro Datei |
Darstellung | Engl. | Aufbau von Klassen, Klassen/Interface-Deklaration, Felder, Properties, Konstruktor, Methoden | |
Feldname | Engl. | Lowercase | eq_invnumber |
Methode | Engl. | Lowercase | def myfunction(self): |
Variable | Engl. | Lowercase | eq_invoicenumber |
Instanzvariable | Engl. | Lowercase | _eq_invoicenumber |
Parameter | Engl. | Lowercase | sprechende Namen verwenden |
Konstanten | Engl. | Uppercase | CONST_DATA = 4 |
DB-Tabelle | Engl. | Lowercase | eq_datatable oder eq_data.table (eq_ Präfix) |
DB-Spalte | Engl. | Lowercase | eq_lastname (eq_ Präfix) |
Kommentare | Dt. / Engl. | - | Bei neuralgischen Punkten in Englisch kommentieren |
Code elements .NET (engl.)
Code element | Language | Diction | References & Samples |
---|---|---|---|
Class | engl. | PascalCase | One class per file. |
View | engl. | - | Structure of classes, class/interface declaration, fields, properties, constructor, methods. One view per data type. |
Interface | engl. | PascalCase | public IMyInterface #Name begins with I |
Field name | engl. | PascalCase | public String InvNumber {get; set; } |
Method | engl. | PascalCase | public void Calculation #Active verb-nomenal form |
Variabel | engl. | CamelCase | String invoiceNumber |
Instance variable | engl. | CamelCase | private String invoiceNumber #no leading underscore |
Parameter | engl. | CamelCase | DoCalculation(int cntPos, decimal pricePos) |
Constants | engl. | PascalCase | const int NumDaysOfWeek = 4 |
Events | engl. | PascalCase | MouseEventHandler(object sender, MouseEventsArgs e) |
GUI | ger. | PascalCase | |
Component | engl. | PascalCase | |
DB table | engl. | Lowercase | public String eq_invNumber {get; set; } |
DB column | engl. | Lowercase | lastname_new #not EmployeeLastName |
Comments | ger. / engl. | CamelCase | Bei neuralgischen Punkten in Englisch kommentieren |
Code elements Python (engl.)
Code element | Language | Diction | References & Samples |
---|---|---|---|
Class | engl. | Lowercase | One class per file. Use the eq_{classname} prefix |
View | Structure of classes, class/interface declaration, fields, properties, constructor, methods | ||
Field name | engl. | Lowercase | eq_invnumber |
Method | engl. | Lowercase | def myfunction(self): |
Variabel | engl. | Lowercase | eq_invoicenumber |
Instance variable | engl. | Lowercase | _eq_invoicenumber |
Parameter | engl. | Lowercase | use significiant names |
Constants | engl. | Uppercase | CONST_DATA = 4 |
DB table | engl. | Lowercase | eq_datatable or eq_data.table (eq_ prefix) |
DB column | engl. | Lowercase | eq_lastname (eq_ prefix) |
Comments | ger. / engl. | - | In areas where difficulties may occur use english |
Leitfaden View-Kommentare
Element | Benennung |
---|---|
Label | lbl {name} |
Text | txt {name} |
Checkbox | cbx {name} |
Div | div {name} |
Dropdown | ddl {name} |
Button | btn {name} |
Table | tbl {name} |
Radiobutton | rdb {name} |
Image | img {name} |
View Comments Guide (engl.)
Element | Naming |
---|---|
Label | lbl {name} |
Text | txt {name} |
Checkbox | cbx {name} |
Div | div {name} |
Dropdown | ddl {name} |
Button | btn {name} |
Table | tbl {name} |
Radiobutton | rdb {name} |
Image | img {name} |
Leitfaden XML-Kommentare
XML Tag | Klasse | Methode | Feld | Beschreibung / Beispiel |
---|---|---|---|---|
<summary> | x | x | x | Eine Zusammenfassung des Objekts <summary>Ermitteln Rechnungssumme</summary> |
<returns> | x | Eine Beschreibung des Rückgabewertes <returns>Rechnungssumme</returns> | ||
<params> | x | Name und Beschreibung des Parameters <param name="InvNo">Rechnungsnummer</param> | ||
<type param> | x | Name und Beschreibung des Typparameters <typeparam name="T">Typelement</typeparam> | ||
<exception> | x | x | Beschreibung und Verweis auf verwendete Ausnahme <exception cref="System.Exception"> Ausnahme wenn...</exception> | |
<value> | x | Beschreibung für die Eigenschaft <value>Kundennummer</value> |
XML Comments Guide (engl.)
XML Tag | Class | Method | Field | Description / Sample |
---|---|---|---|---|
<summary> | x | x | x | A summary of the object <summary>Determine invoice amount</summary> |
<returns> | x | A description of the return value <returns>invoice amount</returns> | ||
<params> | x | Name and description of the parameter <param name="InvNo">invoice number</param> | ||
<type param> | x | Name and description of the type parameter <typeparam name="T">Typelement</typeparam> | ||
<exception> | x | x | Description and reference to exception used <exception cref="System.Exception"> Exception if...</exception> | |
<value> | x | Description for the property <value>customer number</value> |
Leitfaden für Commit Kommentare innerhalb der Versionsverwaltung
Logische und funktional zusammenhängende Änderungen separat mit einem sprechenden Commit Kommentar einchecken. Auch mehrmals täglich.
Form des Commit Kommentars:
- Erste Zeile mit einzeiliger Zusammenfassung (Betreff)
- Leerzeile
- Ausführliche Beschreibung der Änderungen
Commit comments guide within version management (engl.)
Check in logical and functionally related changes separately with a talking commit comment. Also several times a day.
Commit comment form:
- First line with single-line summary (subject)
- blank row
- Detailed description of the changes
Abhängigkeiten/Dependencies
Um in der Entwicklung den Überblick behalten zu können, warum bestimmte Abhängigkeiten zu anderen Modulen notwendig sind, sollen die Abhängigkeiten im unteren Bereich der Modulbeschreibung des jeweiligen Moduls folgendermaßen gepflegt werden:
Abhängigkeit zu Modul | Beschreibung | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Modulname | Kurze Beschreibung was das Modul "Modulname" macht. Ansichtenbearbeitung:
|
Dependencies (engl.)
In order to keep track of why certain dependencies to other modules are necessary in development, the dependencies in the lower part of the module description of the respective module should be maintained as follows:
Dependency on module | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Modul name | Short description of what the module "module name" does. View editing:
|