User Tools

Site Tools


style

Coding is art

Programmierstile sind grundsätzlich Geschmackssache. Arbeitet man an einem bereits laufendem Projekt mit, so sollte man sich allerdings an den verwendeten Programmierstil anpassen. Das steigert die Lesbarkeit.

Manche Programmiersprachen wie golang oder Python lassen kaum schlechten Stil zu, deswegen wird Programmierstil hier anhand von PHP gezeigt.

Einrückungen

Schauen wir uns die Funktion factorial_iterative aus dem Funktionen Teil an. Beide Codestücke machen eigentlich das selbe.

Schlechter Stil

ist gleich schlechte Lesbarkeit

function f($n)       // Block wird erst nächste Zeile geöffnet. Das ist OK, wenn es einheitlich bleibt
                     // Funktionsname ist nicht sprechend. Was macht f?        
{
$x = 1;              // Keine Einrückung, obwohl innerhalb des Funktionsblockes
  $I = $n;           // Plötzlich zwei Zeichen Einrückung, obwohl im selben Block wie die Zeile davor. 
                     // $i, $n, $x => Was soll das sein? Variablennamen sind überhaupt nicht sprechend. 
                     // Auch wird $n kopiert, was zu Fehlern führen kann. 
                     // Variablenname $I startet mit Grossbuchstaben.
       while($I > 1) // Wieder andere Einrückung
  $x *= $I--;        // Einrückung wieder wie ausserhalb des while-Blockes
                     // Die geschwungen Klammern werden eingespart
                     // was bei einer Instruktion pro Block OK ist und wenn die Einrückungen stimmen
   return $x;        // Inkonsistente Einrückungen
}

Guter Stil

ist gleich bessere Lesbarkeit

function factorial_iterative($number) { // Keine Einrückung. Variablenname number ist sprechend
    $result = 1;                   // Neuer Block => Einrückung um vier Leertasten. Variablenname result ist sprechend
 
    while($number > 1) {           // wieder vier Zeichen. Blocköffnung ist ident zur Blocköffnung der Funktion
        $result *= $number;        // Ein neuer Block startet => acht Zeichen Einrückung
        $number--;                 // Wir sind im selben Block => acht Zeichen
    }                              // Der while Block wird geschlossen => vier Zeichen
 
    return $result;                // wieder 
}                                  // Der Block der Funktion wird geschlossen => kein Zeichen
style.txt · Last modified: 2017/07/05 12:38 by gg