@goth: Dein 1. Kommentar deutet auf eine zu pozy kontroverse Ansicht hin (polemisch, aber nachvollziehbar). Statt das im 2. Post zu begründen, flüchtest du dich in Unsinnigkeit. Schade, denn eigentlich ist es durchaus interessant:
Viele Klassen in einer Datei versus zig Dateien mit je einer Klasse?
Übersichtlicher Code und weniger zu Parsen ODER weniger Festplattenzugriffe und mehr zu Parsen?
Zum Thema: Ich habe einige Templates für Projekte unterschiedlicher Größe. Ein Template ist jeweils eine Ordnerstruktur inkl. unveränderlicher Klassen (compat, config, html-helper, sql-abstraction, etc.), Klassengerüste für immer wiederkehrende Klassen mit jeweils verschiedener Implementierung und allgemeinen Scriptdummies (index.php, config.php).
So habe ich mit einem Klick ein Grundgerüst für die Applikation (Modell 2 (MVC), Modell 1, prozedural, Konsolen-Script oder sonstwas).
Durch die in den Templates enthaltenen Code-Fragmente (compat.inc.php, sql.inc.php) muß ich mich nicht um Plattformabhängigkeiten, das Vorhandensein von PEAR oder Smarty kümmern, sondern kann direkt mit dem eigentlichen Projekt anfangen.
Es ist klar, dass dies eine gewisse Konstanz verlangt. Alle meine index.php sind in den ersten zwanzig Zeilen gleich. Und nicht nur die, wie gesagt gibt es für fast jedes Projekt einen gewissen Grundbestand an Dateien. Das hat mich letztens dazu gebracht, eben diesen festen Bestandteil als serverweite Lib auszulagern. Mal sehen ob das auf lange Sicht sinnvoll ist ...
Selbstverständlich wird ausführlich (und ausschließlich im phpDoc-Stil) kommentiert. Alle Variablen werden nach dem Muster <Scope>_<Type>_<Purpose> benannt (scope lasse ich manchmal weg), alle Klassen, Funktionen, Datenbanken, Tabellen und Templates bekommen ein Präfix (wie wichtig das ist, sieht man an der Panne, die zu PHP 5.1.1 geführt hat).
Bei allen, inzwischen auch bei kleinen Projekten verwende ich SVN/CVS und - das wurde hier noch gar nicht angesprochen - achte darauf, daß ich sowohl vom SVN-Repository als auch von allen zum Projekt gehörigen Dokumenten (Vertrag, Pflichten-/Lastenheft, Sitemaps, Designstudien, ...) regelmäßig automatisch Backups mache.
Für größere oder besonders spezifische Projekte setze ich mir schon mal einen VM-Host auf, der den Gegebenheiten des Kunden entspricht. Aber das ist natürlich ein ziemlicher Aufwand, der sich auch lohnen sollte.
Nach Abschluß eines Projekts schreibe ich meist noch einen kurzen Abriß - ich halte fest, was gut und was schlecht gelaufen ist, was es für ein Kunde war (könnte wiederkommen und dann möchte ich mich 'erinnern') und sichere diese Notizen zusammen mit allen Projektdateien 'für die Ewigkeit'.
Viele Klassen in einer Datei versus zig Dateien mit je einer Klasse?
Übersichtlicher Code und weniger zu Parsen ODER weniger Festplattenzugriffe und mehr zu Parsen?
Zum Thema: Ich habe einige Templates für Projekte unterschiedlicher Größe. Ein Template ist jeweils eine Ordnerstruktur inkl. unveränderlicher Klassen (compat, config, html-helper, sql-abstraction, etc.), Klassengerüste für immer wiederkehrende Klassen mit jeweils verschiedener Implementierung und allgemeinen Scriptdummies (index.php, config.php).
So habe ich mit einem Klick ein Grundgerüst für die Applikation (Modell 2 (MVC), Modell 1, prozedural, Konsolen-Script oder sonstwas).
Durch die in den Templates enthaltenen Code-Fragmente (compat.inc.php, sql.inc.php) muß ich mich nicht um Plattformabhängigkeiten, das Vorhandensein von PEAR oder Smarty kümmern, sondern kann direkt mit dem eigentlichen Projekt anfangen.
Es ist klar, dass dies eine gewisse Konstanz verlangt. Alle meine index.php sind in den ersten zwanzig Zeilen gleich. Und nicht nur die, wie gesagt gibt es für fast jedes Projekt einen gewissen Grundbestand an Dateien. Das hat mich letztens dazu gebracht, eben diesen festen Bestandteil als serverweite Lib auszulagern. Mal sehen ob das auf lange Sicht sinnvoll ist ...
Selbstverständlich wird ausführlich (und ausschließlich im phpDoc-Stil) kommentiert. Alle Variablen werden nach dem Muster <Scope>_<Type>_<Purpose> benannt (scope lasse ich manchmal weg), alle Klassen, Funktionen, Datenbanken, Tabellen und Templates bekommen ein Präfix (wie wichtig das ist, sieht man an der Panne, die zu PHP 5.1.1 geführt hat).
Bei allen, inzwischen auch bei kleinen Projekten verwende ich SVN/CVS und - das wurde hier noch gar nicht angesprochen - achte darauf, daß ich sowohl vom SVN-Repository als auch von allen zum Projekt gehörigen Dokumenten (Vertrag, Pflichten-/Lastenheft, Sitemaps, Designstudien, ...) regelmäßig automatisch Backups mache.
Für größere oder besonders spezifische Projekte setze ich mir schon mal einen VM-Host auf, der den Gegebenheiten des Kunden entspricht. Aber das ist natürlich ein ziemlicher Aufwand, der sich auch lohnen sollte.
Nach Abschluß eines Projekts schreibe ich meist noch einen kurzen Abriß - ich halte fest, was gut und was schlecht gelaufen ist, was es für ein Kunde war (könnte wiederkommen und dann möchte ich mich 'erinnern') und sichere diese Notizen zusammen mit allen Projektdateien 'für die Ewigkeit'.
Kommentar