Codekonventionen beschreiben in der Programmierung die Regeln beim Erstellen von Quellcode. Er gilt als Teilaspekt von Softwarequalität, der insbesondere die Verständlichkeit und Wartbarkeit von Software, dies sind Kriterien für Softwarequalität gem. ISO/IEC 9126, unterstützen soll.
Vorwort

Sinn und Zweck eines Coding Standard

Regel 0: Immer wenn eine Regel gebrochen wird, muss das deutlich und erkennbar dokumentiert werden

Regel 1: Das Prinzip der Einfachheit: Don’t make me think!

Regel 2: Dateien, die inkludiert werden, sollten mit „*.inc.php“ enden oder in einem Unterverzeichnis liegen

Regel 3: Jede PHP-Datei muss das Copyright und einen Kommentar enthalten, der die Funktionalität beschreibt

Regel 4: Die Sprache für Kommentare und Bezeichner sollte Englisch sein

Regel 5: Jede Datei wird mit Änderungskommentaren und einem Zeitstempel versehen

Regel 6: Jede Funktion muss mit Kommentaren versehen werden

Regel 7: Lange Kommentare sollten mit /* und kurze mit // gemacht werden

Regel 8: Alle Bezeichner werden aussagekräftig und eindeutig definiert

Regel 9: Benennung von Variablen und Funktionen erfolgen mit Unterstrich und in Kleinbuchstaben

Regel 10: Konstanten werden in Großbuchstaben defniert

Regel 11: Auf keinen Fall Abkürzungen verwenden, die zweideutig sein können

Regel 12: Funktionen, Parameter und Rückgabewerte gut dokumentieren

Regel 13: Die Klammern für eine Funktion () stehen direkt am Funktionsnamen

Regel 14: Funktionen mit langen oder vielen Parametern müssen übersichtlich strukturiert werden

Regel 15: Der Code muss vom Design getrennt werden (Template Engine)

Regel 16: Alle Templates müssen validiert werden

Regel 17: Bezeichner einer Klasse werden mit Großbuchstaben voneinander getrennt

Regel 18: Keine magischen Zahlen

Regel 19: SQL-Befehle werden groß geschrieben

Regel 20: Variablen in Zählschleifen werden mit einem Buchstaben definiert

Regel 21: Trinitäts-Operatoren dürfen nicht verschachtelt werden

Regel 22: Trinitäts-Operatoren müssen Klammern enthalten

Regel 23: INSERT-Anweisungen müssen die einzelnen Spalten für die VALUES-Klausel enthalten

Regel 24: Code, der nicht benutzt wird, muss gelöscht werden

Regel 25: PHP-Skripte müssen auch mit SHORT_OPEN_TAG=off funktionieren

Empfehlung 1: Geschweifte Klammern werden im Allman-Stil eingerückt

Empfehlung 2: Jede Kontrollstruktur hat einen Block mit Klammern

Empfehlung 3: Zum Einrücken von Quellcode werden Tabulatoren verwendet

Empfehlung 4: Die Benutzung von Zahlen in Bezeichnern ist zu vermeiden

Empfehlung 5: Es sollte Subversion und ein Bugtracker-System benutzt werden

Empfehlung 6: Keine Anführungsstriche bei String-Deklarationen
Empfehlung 7: Debug-Informationen von Anfang an einbinden

Empfehlung 8: Werte für FOR-Schleifen richtig setzen

Richtig und Falsch 1: Klammern setzen und Abkürzungen

Richtig und Falsch 2: Übersichtlich programmieren

12. Regel 9: Benennung von Variablen und Funktionen erfolgen mit Unterstrich und in Kleinbuchstaben

Wie schon erwähnt ist der Einsatz von Abkürzungen mit Vorsicht zu genießen. Es kann begründete Fälle geben, wo es sinnvoll ist, eine Abkürzung zu verwenden, aber die Regel „Benennung von Variablen und Funktionen erfolgen Variablentypabkürzung und Kleinbuchstaben mit führendem Großbuchstaben“ soll den Einsatz von Abkürzungen zusätzlich erschweren. Das ist Absicht, denn Abkürzungen können einem Programmier-Team das Leben schwer machen – dazu später mehr.

Wenn jeder im Team die Abkürzung RDBMS kennt, dann kann man sie auch verwenden. Um den Einsatz von Abkürzungen zu ermöglichen und Variablen eindeutig und mit mehreren Worten benennen zu können, benutzt man den Unterstrich zur Trennung der Wörter:

Gültig
$sName = 'Daniel Kussin';
$rDatabase = mysql_connect();

/* Klassenvariablen */
$_sClassName = 'Wmdk_Oop_Exemplae_Class';

Einige Editoren und die meisten Linux-Systeme unterscheiden zwischen Groß- und Kleinschreibung. Sie arbeiten case-sensitive. Ein

grep "*skriptname*" wmdk_skript.php

führt dann auf jeder Plattform zum Erfolg (wenn es eine entsprechende Variable gibt). Heißt die Variable „$SkriptName“, wird der oben genannte Befehl fehlschlagen.

Variablentypen (Prefix)

Boolean $bBoolean = TRUE;
Integer $iInteger = 1;
Float $fFloat = 1.23456;
String $sString = 'Daniel Kussin';
Array $aArray = array('Daniel', 'Ole', 'Mike');
Object $oObject = new Wmdk_Oop_Exemplae_Class;
Ressource $rRessource = mysql_connect();

Vergleich: http://www.php-coding-standard.de/mhtml/regel09.html von Claus van Beek