PHP Coding Standard
Ich habe festgestellt, dass keiner der offiziellen oder inoffiziellen Coding Standards für PHP ins Deutsche übersetzt wurde. Die folgenden Werke haben bei meinem Coding Standard als Leitwerk gedient:
- Erik Nyquist und Mats Henricson: "Programming in C++" von (Englisch von 1992)
- Fredrik Kristiansen: PHP Coding Standard (Englisch)
- phpBB: Coding Guidelines (Englisch)
Gerade die Coding Guidelines vom phpBB sind sehr zu empfehlen. Mein PHP Coding Standard ist sehr ausführlich, enthält aber auch viele Elemente, die Erik Nyquist und Mats Henricson als wichtig erachtet haben. Ich werde in den nächsten Monaten auch die FAQ von PHP für "guten Code" durcharbeiten. PHP Coding Standard als HTML und PDF
Mein PHP Coding Standard umfasst mehrere Regeln und Empfehlungen. Man kann den PHP Coding Standard als HTML und als PDF herunterladen.
Inhaltsverzeichnis
Das Inhaltsverzeichnis ist unten komplett aufgeführt.
- 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