Code Styleguide: Unterschied zwischen den Versionen
Aus Contao Community Documentation
FloB (Diskussion | Beiträge) (→Klammerung, Leerzeichen und Kommata: Umstellung, Umformulierung, Leerzeichen nach best. Schlüsselwörtern hinzugefügt.) |
Xtra (Diskussion | Beiträge) K (kleinere Anpassungen) |
||
Zeile 1: | Zeile 1: | ||
{{stub}} | {{stub}} | ||
− | Diese Seite soll einen allgemeinen Styleguide für Entwicklung von | + | Diese Seite soll einen allgemeinen Styleguide für Entwicklung von Contao Extensions darstellen. |
− | Die hier gemachten Angaben entstanden aus der Auswertung des | + | Die hier gemachten Angaben entstanden aus der Auswertung des Contao Core, erheben jedoch keinen Anspruch auf Vollständigkeit, Richtigkeit oder gar Übereinstimmung mit den Ansichten des Core Entwicklers Leo Feyer. |
==Dateien== | ==Dateien== | ||
===Dateinamen=== | ===Dateinamen=== | ||
− | In jeder Datei sollte nur eine Klasse enthalten sein. Ausgenommen sind Hilfsklassen, die nur von der einen Klasse aufgerufen werden, oder deren Aufruf die Einbindung der einen Klasse voraussetzt (siehe [[Database]], [[ | + | In jeder Datei sollte nur eine Klasse enthalten sein. Ausgenommen sind Hilfsklassen, die nur von der einen Klasse aufgerufen werden, oder deren Aufruf die Einbindung der einen Klasse voraussetzt (siehe [[Database]], [[Database_Statement]], [[Database_Result]]). |
Der Dateiname muss, damit die Klasse automatisch geladen werden kann (siehe [[Autoloader]]), gleich wie der Klassenname sein. Gross- und Kleinschreibung muss beachtet werden, da ansonsten auf Unix-/Linux-Servern die Klasse nicht gefunden werden kann. | Der Dateiname muss, damit die Klasse automatisch geladen werden kann (siehe [[Autoloader]]), gleich wie der Klassenname sein. Gross- und Kleinschreibung muss beachtet werden, da ansonsten auf Unix-/Linux-Servern die Klasse nicht gefunden werden kann. | ||
− | Der Klassenname sollte, sofern er aus mehreren Worten besteht, in [[CamelCase]] geschrieben werden. | + | Der Klassenname sollte, sofern er aus mehreren Worten besteht, in lower [[w:de:CamelCase|CamelCase]] geschrieben werden. |
===Header=== | ===Header=== | ||
Zeile 19: | Zeile 19: | ||
* das Paket, zu welchem die Datei gehört. | * das Paket, zu welchem die Datei gehört. | ||
− | Diese Informationen sollten bestenfalls in [[ | + | Diese Informationen sollten bestenfalls in [[w:de:PhpDocumentor|PhpDocumentor Notation]] vorgenommen werden. |
Beispiel: | Beispiel: | ||
/** | /** | ||
− | * | + | * Contao Open Source CMS |
* Copyright (C) 2005-2010 Leo Feyer | * Copyright (C) 2005-2010 Leo Feyer | ||
* | * | ||
Zeile 50: | Zeile 50: | ||
===Einrückung=== | ===Einrückung=== | ||
− | In | + | In Contao werden zum Einrücken von Code in der Regel normale TABulatoren (ASCII 0x09) und keine Leerzeichen verwendet. Eine Ausnahme hiervon stellen Einrückungen von zwei bis drei Leerzeichen dar, welche zur Formatierung von beispielsweise Datenbankabfragen eingefügt werden können. |
===Klammerung, Leerzeichen und Kommata=== | ===Klammerung, Leerzeichen und Kommata=== | ||
− | In | + | In Contao werden geschweifte Klammern grundsätzlich auf eine neue Zeile geschoben. Nach öffnenden und schließenden runden Klammern wird kein Leerzeichen geschrieben. Nach einem Komma und Schleifen-Schlüsselwörtern (if, while, for, foreach) wird ein Leerzeichen eingefügt. |
Beispiel: | Beispiel: |
Version vom 24. Mai 2010, 23:55 Uhr
Unvollständiger Artikel: dieser Artikel ist noch nicht sauber bearbeitet.
Bitte erweitere ihn und entferne erst anschliessend diesen Hinweis. |
Diese Seite soll einen allgemeinen Styleguide für Entwicklung von Contao Extensions darstellen.
Die hier gemachten Angaben entstanden aus der Auswertung des Contao Core, erheben jedoch keinen Anspruch auf Vollständigkeit, Richtigkeit oder gar Übereinstimmung mit den Ansichten des Core Entwicklers Leo Feyer.
Inhaltsverzeichnis
Dateien
Dateinamen
In jeder Datei sollte nur eine Klasse enthalten sein. Ausgenommen sind Hilfsklassen, die nur von der einen Klasse aufgerufen werden, oder deren Aufruf die Einbindung der einen Klasse voraussetzt (siehe Database, Database_Statement, Database_Result).
Der Dateiname muss, damit die Klasse automatisch geladen werden kann (siehe Autoloader), gleich wie der Klassenname sein. Gross- und Kleinschreibung muss beachtet werden, da ansonsten auf Unix-/Linux-Servern die Klasse nicht gefunden werden kann.
Der Klassenname sollte, sofern er aus mehreren Worten besteht, in lower CamelCase geschrieben werden.
Header
In jeder Datei sollte oben ein Header enthalten sein, welcher mindestens folgende Informationen beinhalten sollte:
- die Lizenz, unter deren der Code veröffentlicht wurde.
- der Name des Autors.
- ggf. der Name der Firma, für welche der Code geschrieben wurde und deren geistiges Eigentum er somit ist.
- das Paket, zu welchem die Datei gehört.
Diese Informationen sollten bestenfalls in PhpDocumentor Notation vorgenommen werden. Beispiel:
/** * Contao Open Source CMS * Copyright (C) 2005-2010 Leo Feyer * * This program is free software: you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation, either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this program. If not, please visit the Free * Software Foundation website at <http://www.gnu.org/licenses/>. * * PHP version 5 * @copyright Some Company 2010 * @author Max Mustercoder <mustercoder@somedomain.tld> * @package RealCoolExtension * @license LGPL * @filesource */
Code
Einrückung
In Contao werden zum Einrücken von Code in der Regel normale TABulatoren (ASCII 0x09) und keine Leerzeichen verwendet. Eine Ausnahme hiervon stellen Einrückungen von zwei bis drei Leerzeichen dar, welche zur Formatierung von beispielsweise Datenbankabfragen eingefügt werden können.
Klammerung, Leerzeichen und Kommata
In Contao werden geschweifte Klammern grundsätzlich auf eine neue Zeile geschoben. Nach öffnenden und schließenden runden Klammern wird kein Leerzeichen geschrieben. Nach einem Komma und Schleifen-Schlüsselwörtern (if, while, for, foreach) wird ein Leerzeichen eingefügt.
Beispiel:
public function somefunction($param) { if ($param=='foo') { // do something } else { // do something else } }
Leerzeilen
Leerzeilen sollten verwendet werden um logische Codeabschnitte zu gruppieren. Leerzeilen sollten von allen Tabulator- und Leerzeichen bereinigt werden und wirkliche Leerzeilen sein.
Nach einer Funktion sollte mindestens eine Leerzeile folgen.