php.de

Zurück   php.de > php.de Intern > Off-Topic Diskussionen

Off-Topic Diskussionen Mach mal Pause vom Programmieren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.09.2006, 15:25   #1 (permalink)
Erfahrener Benutzer
 
Registriert seit: 14.10.2005
Beiträge: 153
Fatal Error
Standard Programmierstil

Hallo,
es gibt zwar seiten wo ein bestimmter Programmierstil vorgestellt/vorgeschlagen wird aber ich wollte mal nur Ratschläge geben bzw. sammeln zum Thema Programmierstil.

Also, schreibt ein kurzes Beispiel (Quellcode) und einen Kommentar wieso ihrs so macht.

Hab z.B.: mal irgendwo geleden dass Ben Arrays so schreibt "$_array"
das hatte ich so nie angewendet, was ich jetzt aber tue.

PHP-Code:
<?php
/*$_array hat 2 Vorteile:
1. Man sieht sofort, dass das ein Array ist
2. Die Variable steht einem noch zur verfügung.
Beispiel:
Man hat ein Array was mehrere Kunden speichert*/
    
$_user[1] = 'Alex';
    
$_user[2] = 'Wladimir';
    
$_user[3] = 'Sascha';
/*Nun hat man zusätzlich einen Kunden der gerade in ein Formular eingegeben wurde und noch einigen tests unterzogen werden muss (erlaubte Zeichen in dem Namen, ...)*/
    
$user 'Harald';
/*Nachdem die tests beendet sind wird er in die allgemeine Userliste hinzugefügt.*/
    
$_user[] = $user;

/*Es ist klar dass man für die $user Variable auch $newuser sagen kann doch ich habe die Erfahrung gemmacht, dass je weniger verschiedene Variablen es giebt desto übersichtlicher bleibt das ganze Programm.*/
?>

Je weniger desto mehr.
Ebenso habe ich die Erfahrung gemmacht, dass verschiedene Variablen für eine und dieselbe sache verwierend sein können.
z.B.: Man bennent die Variablen in den Eingabefeldern so
<input type="text" name="input_vorname">
<input type="text" name="input_nachname">

in einer function die Parametervariablen so
function addKunden($param_vorname, $param_nachname){
// ...
}

und die eigentlichen variablen so
$vorname
$nachname

Macht es auf keinen Fall so wie es in dem obigem Beispiel aufgeführt wurde, einfach für alle 3 verschiedenen stellen die variablen $vorname und $nachname nehmen.
Als ich gerade angefangen habe zu programmieren habe ich es so gemmacht wie ich es oben aufgeführt habe, dachte zuerst es währe übersichtlicher da man sofort sah woher die Variable kommt doch als ich programme geschrieben habe wo mehr Variablen vorkommen als einpaar hat sich die Anzahl der Variablen, durch die obige benennung, glatt verdreifacht und es wurde sehr unübersichtlich.


So, postet mal euere Erfahrungen und Ratschläge xD bin schon gespannt
Fatal Error ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 09.09.2006, 15:51   #2 (permalink)
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Die Variante mit $_xyz wird vorallen von internen Variablen wie $_POST und solche Spielchen verwendent.
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline   Mit Zitat antworten
Alt 09.09.2006, 17:18   #3 (permalink)
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
Basti
Standard

Hi.

Ich mache durch Namenskonvetionen sichtbar, von welchem Type eine Variable ist:
PHP-Code:
<?php
$iNumRows 
42;
$fFactor 3.24;
$sLabel 'Something';
$bIsValid true;
$aRoles = array('array_key' => $mFoo);
$cMode DEBUG;
$mFoo = ? (mixed/unknown)
$DaoFactory = new DaoFactoy();
?>
Was willst du nun aber genau sammeln? "Programmierstil" ist ja alle Mögliche...

Basti
__________________
www.bastian-fenske.de
Basti ist offline   Mit Zitat antworten
Alt 09.09.2006, 21:08   #4 (permalink)
Erfahrener Benutzer
 
Registriert seit: 14.10.2005
Beiträge: 153
Fatal Error
Standard

Mein vorhaben war es, dass hier eine Liste der verschiedenen Programmierstille entsteht, so kann dann jeder User seinen still verbessern oder perfektionieren indem er sich die eine oder andere sache abguckt. Wie ich zb oben mit den Arraynamen.
Fatal Error ist offline   Mit Zitat antworten
Alt 09.09.2006, 21:22   #5 (permalink)
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
Chr!s
Standard

Zitat:
Zitat von Basti
Hi.

Ich mache durch Namenskonvetionen sichtbar, von welchem Type eine Variable ist:
PHP-Code:
<?php
$iNumRows 
42;
$fFactor 3.24;
$sLabel 'Something';
$bIsValid true;
$aRoles = array('array_key' => $mFoo);
$cMode DEBUG;
$mFoo = ? (mixed/unknown)
$DaoFactory = new DaoFactoy();
?>
Was willst du nun aber genau sammeln? "Programmierstil" ist ja alle Mögliche...

Basti
Exakt auch mein Programmierstil, bis auf eine kleine Änderung: Objekte kennzeichne ich ebenfalls mit $oObject, z.B.
PHP-Code:
<?php
$oDaoFactory 
= new DaoFactory();
?>
__________________
www.ChrisDiary.De
Chr!s ist offline   Mit Zitat antworten
Alt 10.09.2006, 15:26   #6 (permalink)
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
Basti
Standard

Zitat:
Zitat von Fatal Error
Mein vorhaben war es, dass hier eine Liste der verschiedenen Programmierstille entsteht, so kann dann jeder User seinen still verbessern oder perfektionieren indem er sich die eine oder andere sache abguckt. Wie ich zb oben mit den Arraynamen.
Ich meinte eben, was du unter "Stil" verstehst? Die Frage danach "wie ich programmiere" kann man ja auf vielen Ebenen beantworten. Das kann sich ja auf solche Variablenbennungen beschränken, kann aber auch um Kommentieung des Codes, um die Verwendung bestimmter Entwurfsmuster und Frameworks gehen, um IDEs, SCM-Tools bis hin zu Arbeitsweisen, wie Test First, Pair Programming etc.

Wenn es um Bennenung von Variablen geht, dann schau dir einfach mal die Kodierkonventionen verschiedener Projekte an - oder eben direkt den Quellcode. Auch sonst kannst du den Stil einzelner Programmierer bzw. den von Gruppen von Programmieren ja am besten aus den Quellen rauslesen. Ist eh eine sehr inspirierende Tätigkeit, sich in die Codes von guten Programmierern (oder Architekten) einzulesen.

Basti
Basti ist offline   Mit Zitat antworten
Alt 10.09.2006, 19:43   #7 (permalink)
Erfahrener Benutzer
 
Registriert seit: 14.10.2005
Beiträge: 153
Fatal Error
Standard

Naja, ich meinte nicht nur die benennung von Variablen sondern auch aufteilung der .php dateien in die ordner und verteilung des Quelltextes in verschiedene .php Dateien. Also alles was man so wissen sollte.
Fatal Error ist offline   Mit Zitat antworten
Alt 12.09.2006, 02:41   #8 (permalink)
Erfahrener Benutzer
 
Registriert seit: 07.06.2005
Beiträge: 274
imported_kremser
Standard

ich lege oft variablen die zu einem bestimmten stück gehören zusammen:
Code:
  $wm['w'] = 83;                          //width  of watermark
  $wm['h'] = 15;                          //height of watermark
  $wm['a'] = 100;                         //alpha  of watermark
  $wm['f'] = "zzz/img_watermarks_copy.gif"; //watermark file


[edit]² basti : ich hoffe so passts :wink:[/edit]
imported_kremser ist offline   Mit Zitat antworten
Alt 12.09.2006, 10:25   #9 (permalink)
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
Basti
Standard

Zitat:
Zitat von Fatal Error
Naja, ich meinte nicht nur die benennung von Variablen sondern auch aufteilung der .php dateien in die ordner und verteilung des Quelltextes in verschiedene .php Dateien. Also alles was man so wissen sollte.
Auf unterster Ebene siehts bei mir gerade so aus:
Zitat:
-rw-r--r-- 1 basti basti 2202 2006-09-06 11:16 cms.php
drwxr-xr-x 3 basti basti 4096 2006-08-27 17:25 config
drwxr-xr-x 5 basti basti 4096 2006-08-27 17:25 data
drwxr-xr-x 4 basti basti 4096 2006-08-27 17:25 extern
drwxr-xr-x 6 basti basti 4096 2006-09-11 14:11 lib
drwxr-xr-x 6 basti basti 4096 2006-09-06 11:06 public
drwxr-xr-x 7 basti basti 4096 2006-09-11 13:15 .svn
drwxr-xr-x 3 basti basti 4096 2006-08-27 17:25 templates
drwxr-xr-x 4 basti basti 4096 2006-08-27 17:25 tmp
drwxr-xr-x 3 basti basti 4096 2006-09-09 12:15 tools
doc_root zegt auf public. Dort die index.php, css etc. Die index zeigt auf cms.php. Darin __autoload(), abspath() (quasi anstatt einer Konstanten APP_PATH oder so) und der Start des FrontControllers.

In lib je Klasse eine Datei natürlich. Im Moment markiert jeder Unterstrich im Klassennamen einen neuen Ordner. Auf der einen Seite kann man so ganz gut die Dinge zusammenpacken, aber so ganz zufrieden bin ich damit noch nicht, weil sich die Dinge dann eben doch nicht so eindeutig zuordnen lassen (die Model-Klassen haben eine andere Hierarchie, als die Module, die aus Controllern und Views bestehen).

/lib/Mod/Mod_Toolbar/Mod_Toolbar_View.php enthält also z.B. Mod_Toolbar_View.

config/ enthält eben Konfigurationsdateien, data/ z.B. Bilder und Dateien zum Download, die nicht n der Datenbank gehalten werden, extern enthält im Moment nur PEAR:Mail zur Prüfung der Mail-Adressen.

.svn/ ist klar, templates/ auch, in tmp liegen z.B. die Session-Dateien, kann aber auch sonst von den Modulen eben zur temporären Dateiablage benutzt werden.

In tools/ liegt gerade nur ein php-cli-Skript zum Erstellen der Dateien mit Klassen-Skeletten für ein neues Modul.

Notizen, Todo-Liste, UML-Diagramm etc. liegen dann in einem Ordner neben dem hier gezeigten. Tests gibt es dort (noch?) keine, lediglich für einzelne Komponenten, die ich hierfür zusammengetragen hab, eine Dokumentation auch nicht, da der Code noch eine Weile hin ist, bis zur Veröffentlichung (wenn überhaupt). Das nur, weil die entsprechenden Ordner hier ja fehlen.

Keine Ahnung, was du damit anfangen kannst.

Basti

PS @kremser:
Du hast die Anführungsstriche vergessen oder unterdrückst deine Fehlermeldungen.
Basti ist offline   Mit Zitat antworten
Alt 27.09.2006, 09:21   #10 (permalink)
Erfahrener Benutzer
 
Registriert seit: 03.04.2006
Beiträge: 222
&lt;Daniel&gt;
Standard

Ich mache es wie Basti:
PHP-Code:
<?php
$iNumRows 
42;
$fFactor 3.24;
$sLabel 'Something';
$bIsValid true;
$aRoles = array('array_key' => $mFoo);
$cMode DEBUG;
$mFoo = ? (mixed/unknown)
$DaoFactory = new DaoFactoy();
?>
Nur das ich noch Sachen, wo irgendwas mit mySQL vorkommt, zusätzlich markiere:
PHP-Code:
<?php
$myAbfrage 
mysql_query(...);
?>
&lt;Daniel&gt; ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Der "richtige" Programmierstil Matze PHP Tipps 2007 15 18.01.2007 14:37
Frage zu Programmierstil inu PHP Tipps 2006 8 26.05.2006 08:11
Frage zu eurem Programmierstil PHP Tipps 2005 10 27.03.2005 05:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php programmierstil, einheitlicher programmierstil php, php programmierstile, php programmierstil tiops, guter php programmierstil, php variablen namenskonvetionen

Alle Zeitangaben in WEZ +1. Es ist jetzt 17:39 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.