Skip to content

Codingstandard

Mairu edited this page Jan 19, 2013 · 2 revisions

CodingStandard

Da unstrukturierter oder immer anders formatierter Code schwere zu lesen ist, macht es Sinn einen sogenannten CodingStandard einzusetzen, der Richtlinien vorgibt, wie Code formatiert sein sollte und an den sich alle die Code für Ilch 1.2 schreiben halten sollten.

Wir haben uns dazu entschieden den Quasistandard PSR zu verwenden, siehe dazu folgenden Link: https://github.com/php-fig/fig-standards/tree/master/accepted

Dieser sollte vor allem bei neu geschrieben Code angewandt werden, aber auch Dateien, in denen man etwas ändert, sollten entsprechend des Standard angepasst werden, außer wenn die Kompatibilität zu alten Versionen dadurch zerstört werden würde, einige Beispiele:

  • alte Funktionnamen und Klassen die nicht im CamelCase sind, sollten so bleiben wie sie sind
  • globale Variablen sollte dementsprechend auch nicht umbenannt werden
  • Einrückung von Code, && statt and oder die Klammerung etc. darf geändert werden
  • lokale Variablen können bei Bedarf gerne umbenannt werden, wenn der Code dadurch einfacher verständlich wird

Als Hinweis soll dabei gesagt sein, dass eine gute IDE wie Netbeans oder Eclipse dies nach etwas Konfiguration automatisieren können. Weiter gibt es Tools wie CodeSniffer, die den Code auf Fehler prüfen können.

Zeichensatz und Zeilenende

Auch ein Quasistandard ist die Verwendung von UTF-8 als Zeichensatz für jegliche Quellcodedateien und das Unix LF (\n) als Zeilenende, diese Einstellung sollten in jedem vernünftigen Editor möglich sein. Siehe dazu auch https://github.com/IlchCMS/Ilch-1.2/wiki/Doc-utf8

Sprechende Bezeichner für Variablen und Methoden

An dieser Stelle sei auch nochmal darauf hingewiesen, dass Methoden und Variablen möglichst in Englisch zu halten sind und sprechende Bezeichnungen erhalten sollte, wie z.B. $forumPosts statt $fp oder getUsername() statt get_n(), um den Code einfacher lesbar zu halten.

Kommentare

Weiter sollten auch alle neu geschrieben Klassen und Funktionen dokumentiert werden, sprich ein PHPDoc Block über der Funktion mit einer kurzen Beschreibung, sowie Parameter und Rückgabewert. Siehe PHP Documentor Hilfe (engl.)

Kommentare im Code sollten nur mit // und nicht mit # eingeleitet werden, falls sich ein Kommentar über mehrere Zeilen erstreckt, sollte /* ... */ eingesetzt werden.

Wenn noch Sachen diesbezüglich ungeklärt sind, stellt bitte die nötigen Fragen. Natürlich sind Anregung und Kritik immer willkommen.