Zitat von
Pingu
Solche Coding Standards kommen ja auch nicht von ungefähr. Sicherlich, wer bisher still in seinem Kämmerlein nur seine eigenen Projekte verfolgt hat, hat es schwer den Sinn zu verstehen. Wer aber mal in verschiedenen Firmen mit verschiedenen Projekten und den unterschiedlichsten Leuten und damit Charakteren zu tun hatte, weiß solche Standards zu schätzen.
Dem gebe ich zu 100% recht. Alleine kann man so programmieren, aber im Team mit 3 oder mehr Mitarbeitern wird sich unter Garantie nur einer (wenn überhaupt) mit allen Abkürzungen auskennen.
Es stimmt, was undefined gesagt hat, dass Deine Funktion die Schnittstellen nur nach außen gut beschreiben muss, aber das gilt nur so lange, bis ein Bug auftaucht und Du in Urlaub bist. Dann müssen die anderen nämlich Deinen Source-Code debuggen und den Fehler suchen.
Das es dabei jede Menge Flüche gibt, kann ich Dir garantieren.
Ich habe auch den angesprochenen Post bzw. das Problem von undefined gelesen. Ich war nur am hin und herscrollen, weil ich die Abkürzungen immer wieder nachlesen musste. Vielleicht ist auch mein Gedächtnis zu schlecht ...
Ich neige dazu eher zu lange Namen zu wählen. Auch das kann unübersichtlich werden, aber ein Azubi, der mit mir zusammenarbeiten darf/muss, hat mich mal für meine Code-Strukturen gelobt.
Hier ein Beispiel:
PHP-Code:
// Ich werde hier ausnahmsweise englische Variablennamen verwenden, weil GET und PUT FTP-Befehle sind
$get = new LoginGetPutProtokollierung('129.101.163.79', 'kennung', 'passwort');
$get->VerzeichnisWechsel('./');
$get->TempPfadAnlegen('tmp/');
$dateien = $get->DateienHolen();
$get->ProtokollAusgebenUndInMysqlEinfuegen('Quellserver');
$get->VerbindungSchliessen();
Beispiel für eine Methode:
PHP-Code:
/**
* Wechselt auf dem FTP-Server mit ftp_chdir() das Verzeichnis.
* @param $ftp_pfad: Enhält einen Pfad bzw. ein Unterverzeichnis wie "daten/zip/"
* @return noch kein Return-Parameter (:TODO: TRUE oder FALSE wäre gut)
**/
function VerzeichnisWechsel($ftp_pfad)
{
// Eigenschaften initialisieren
$this->ftpPfad = $ftp_pfad;
// ftp_chdir() ausführen und abspeichern
$this->verzeichnisWechseln = ftp_chdir($this->verbindung, $this->ftpPfad);
}
Wie man sehen kann, haben wir uns im Team auf unterschiedliche Namenskonventionen für Variablen geeinigt:
- Variablen in einer Klasse (Eigenschaften bzw. Attribute) => $this->ftpPfad
- Variablen in einer Funktion oder einem "normalen" Skript: $ftp_pfad
Auf Abkürzungen wie "m" für "Member attribute" oder "Membervariable" verzichten wir. Ebenso ist "g_count" bei uns nicht erwünscht (g = global).
Das wir solche Verbrechen nicht begehen
PHP-Code:
$berechnetes_ergebnis = $wurzel * 5;
$berechnetes_ergebnis = 'Jetzt ist es ein String';
versteht sich von selbst in unserem Team.
Meine 2 Cent.
Gruß
Claus
PS: Weitere PHP Coding Standards ...
http://www.phpbb.com/phpBB/docs/codingstandards.htm
http://www.mantisbt.org/guidelines.php
http://pear.php.net/manual/en/standards.php
(PEAR Coding Standards sind IMHO nicht ganz ausgereift)
Lesezeichen