Mindestanforderungen an den Code
Konventionen – worum geht es?
Code-Konventionen sind Regeln zur Art und Weise, wie Code geschrieben werden sollte. Im Unterschied zur Syntax geht es dabei nicht darum, den Code korrekt und für den Parser lesbar zu schreiben, sondern vielmehr um die «Gestaltung» des Codes, so dass er für den Menschen einfach zu erfassen ist. Code «funktioniert» auch ohne die Einhaltung von Konventionen, wer jedoch einmal ein Projekt von jemand anderem übernehmen musste, welches keine Coding Standards einhält, der weiss, wie viel mehr Aufwand es bedeutet, diesen zu verstehen und damit zu arbeiten.
Im Umfeld der Schule dienen ein paar grundlegende Code-Konventionen vor allem einem übersichtlichen, einheitlichen Codebild und bringt die folgenden Vorteile:
- Effizienteres Arbeiten am eigenen Code
- Schnellere Fehlerbeseitigung im eigenen Code
- Einfachere Zusammenarbeit mit anderen Lernenden
- Einfacherer Austausch unter Mitstudenten
- Mehr Überblick und schnelleres Erfassen des Codes durch Prüfer und Support
So geht's
1. Code einrücken (Indent)
Wer Code einrückt, profitiert von den folgenden Vorteilen:
- Einfaches Erkennen von Conditional Code (IF/ELSE, Loops etc)
- Schnelleres finden von vergessenen Klammern
if ( $password_verification == $password ) {
return true;
}
vs.
if ( $password_verification == $password ) {
return true;
}
2. Kommentieren
Kommentieren ist notwendig, um Klarheit über den Sinn und Zweck des Codes zu erhalten. Kommentiert werden kleine, zusammenhängende Abschnitte / einzelne Schritte eines Lösungswegs.
- Kommentare helfen in verschiedenen Stadien des Programmierens:
- Vor dem Schreiben des Codes können Schritte so definiert werden (To Do)
- Lösungswege können in kleine Schritte unterteilt werden
- Besseres Verständnis des Zwecks eines Arbeitsschrittes beim Weiterarbeite
- Einfacheres Erkennen von Denkfehlern beim Debugging
- Besseres Verständnis des Codes bei Zusammenarbeit / Hilfe durch andere
// Passwort und Passwortkontrolle überprüfen vor dem Speichern:
if ( $password_verification == $password ) {
return true;
}
Bei Funktionen und Klassendefinitionen sind saubere Kommentarblöcke besonders wichtig. Sie dienen insbesondere dem Verständnis bei der späteren Anwendung des Codes. Doc-Kommentarblöcke können auch für eine Code-Dokumentation genutzt werden, sollte man eine Funktionsbibliothek oder ein Framework aufbauen wollen.
/**
* A short description.
* @param array<int> $a A parameter summary.
* @return int A return value summary.
*/
function foo($a) { ... }
Quelle des Beispiels: https://docs.devsense.com/en/vs/editor/phpdoc
Tips und Links
Lese dir auch die anderen Beiträge zu Konventionen durch. Es sind keine Übungen, aber wichtige Inputs, um sich an sauberes Coding zu gewöhnen...