User Tools

Site Tools


misc:programming_style

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Last revisionBoth sides next revision
misc:programming_style [2018/11/15 16:06] – removed michfielmisc:programming_style [2018/11/15 16:07] – created michfiel
Line 1: Line 1:
 +<code>
  
 +Als Amtssprache ist Denglisch festgelegt.
 +As office language is english fixed layed.
 +
 +Quelltext wird durchgängig strukturiert mit Trennlinien in Form von exakt 80 Querstrichen:
 +////////////////////////////////////////////////////////////////////////////////
 +////////////////////////////////////////////////////////////////////////////////
 +////////////////////////////////////////////////////////////////////////////////
 +Generische Klassen-Templates sind selbsterklärend und sollten nicht dokumentiert
 +werden. Die Initialisierung einer Integer-Variablen hingegen bedarf ausführlichen 
 +Kommentars:
 +int i = 0; // set i to zero
 +////////////////////////////////////////////////////////////////////////////////
 +Initialisierungen werden durchweg in Konstruktor Syntax vorgenommen. Das macht bei simplen
 +Datentypen zwar keinen wirklichen Unterschied, aber sieht unheimlich cool aus: 
 +int i( 0 ); // call integer ctor to initialize i to zero
 +////////////////////////////////////////////////////////////////////////////////
 +Leerschritte gehören nicht zwischen Schlüsselwort und Klammer, sondern umschließen der
 +speziellen Ästhetik wegen den Klammerinhalt:
 +if( 1 )
 +////////////////////////////////////////////////////////////////////////////////
 +Aus selbigen Grund werden Kommas in Parameterlisten an den Anfang gestellt:
 +foo( int i
 +   , int j
 +   , int k )
 +////////////////////////////////////////////////////////////////////////////////
 +Bedingte Kompilierschalter sind parallel zum Quellcode pseudo-syntaktisch eingerückt, 
 +auch wenn das semantisch nicht wirklich viel Sinn macht:
 +if {
 +#   if
 +#   else
 +#   endif 
 +}
 +else {
 +}
 +////////////////////////////////////////////////////////////////////////////////
 +Wider der Lesbarkeit, aber zugunsten einer Fehlermeldung bei falschen Operator gehört bei 
 +Vergleichen die Konstante an den Anfang:
 +if( 0 == test )
 +////////////////////////////////////////////////////////////////////////////////
 +Zum Training des Gedächtnisses sind für die Namen wichtiger Variablen maximal zwei 
 +Buchstaben zu verwenden:
 +ComplexityParser *cp; 
 +////////////////////////////////////////////////////////////////////////////////
 +Rückgabewerte von Funktionen heißen ausnahmslos "retval".
 +////////////////////////////////////////////////////////////////////////////////
 +////////////////////////////////////////////////////////////////////////////////
 +In Reminiszenz an das goldene Zeitalter der Hollerith-Lochkarten ist in die letzte Zeile 
 +jeder Quelltextdatei zwingend das Kürzel "EOF" für "End Of File" zu vermerken:
 +EOF
 +
 +</code>