Programmierstil

edit | delete

Autor: Vilma Plum

eingetragen: Mittwoch, 29. Juni 2005 um 09:45 Uhr (26/2005 Kalenderwoche)

geändert: Freitag, 17. April 2009 um 14:07 Uhr (16/2009 Kalenderwoche)

Keywords: Schreibstil Standard Editor

Kategorien: PHP-ZF, PHP,

Text:

PEAR-Standards unter:
http://pear.php.net/manual/de/standards.php


1. Einrückungen:
Leerstellen benutzen, oder Tabulator benutzen der 4 Leerstellen erzeugt. Tab-Breite im Editor auf 4 setzen.
Saubere Nutzung der Einrückungen, d.h., Gleiche Ebene sollte auch geleiche Einrückung aufweisen.


2. Zeilenlängen:
Möglichst kurze und übersichtliche Zeilen erzeugen.
Längere Bedingungsabfragen eher untereinander setzen, ebenso lange SQL-statements.


3. Schleifen:
Array-Durchläufe sollten möglichst mit foreach abgearbeitet werden. foreach arbeitet schneller als for, da der Gebrauch eines expliziten Zählers entfällt.


4. Variablenbenennung:
Keine Großbuchstaben verwenden für Funktionsnamen oder variablen-Namen.
Zur besseren Lesbarkeit weitere Wörter in Namen mit Großbuchstaben beginnen.


5. Konstanten:
Immer in Großbuchstaben. Trennung zweier Wörter durch Underscore.


Anders bei OOP (Objektorientierte Programmierung), hier sind Großbuchstaben bei Klassen- und Funktionsnamen erwünscht. Dann wird der erste Buchstabe eines Wortes großgeschrieben, auch bei zusammengesetzten Namen (class Text_PrettyPrinter, function starthandler()).


5. Globale Variablen:
Wenn möglich, auf die Verwendung globaler Variablen verzichten. Hier lieber Konstanten erzeugen (wenn möglich) oder Session-variablen, oder die variablen im Funktionsaufruf übergeben. Hierbei ist auf die Nutzung von Referenzen zu achten. Diese nur verwenden wenn es zwingend nötig ist.


6. Short Tags:
keine Short Tags verwenden. Der code soll generell protierbar bleiben. Da auf anderen Servern die Nutzung von Short Tag in der php.ini durchaus ausgestellt sein kann, lieber darauf verzichten.


7. HTML Erzeugung:
Wenn möglich HTML-tags außerhalb von php konstruieren.


8. Kommentare:
Fleissig kommentieren.
Bei Funktionen die Standard-Dokumentation von phpDocumentor verwenden:
/**
* Kurzbeschreibung
*
* Ausführliche Beschreibung
* @tags
*/


Beispiel:
/**
* sethistoryline
*
* fills the history line
* If $mainunit equals 'none', fills in only id and string at current counterposition
* If no parameter equals 'none', fills in main unit, id and string at current counterposition
* If $dataset
id equals 'none', fills in only main unit at current counterposition
*
* @global int $GET['counter']: the counter to keep track of current array position
* @global arr $
SESSION['historyline']: the list of datasets already browsed
* @param string $main
unit: string yielding the name of the actual main unit
* @param int $dataset_id: the id to use
* @param string $string: string to build, used for display purposes
* @param string $jump: string to identify the kind of jump done
*/

Quellcode:  

/**
 * set_history_line
 *
 * fills the history line
 * If $main_unit equals 'none', fills in only id and string at current counterposition
 * If no parameter equals 'none', fills in main unit, id and string at current counterposition
 * If $dataset_id equals 'none', fills in only main unit at current counterposition
 *
 * @global  int     $_GET['counter']: the counter to keep track of current array position
 * @global  arr     $_SESSION['history_line']: the list of datasets already browsed
 * @param   string  $main_unit: string yielding the name of the actual main unit
 * @param   int     $dataset_id: the id to use
 * @param   string  $string: string to build, used for display purposes
 * @param   string  $jump: string to identify the kind of jump done
 */