Beiträge

[Tips & Tricks] Wie fange ich an?

Hallo,

hier möchte ich mal ein paar Tips und Tricks aus meiner persönlichen Erfahrung weitergeben. Ich kann nun auf einige Jahre Programmiererfahrung zurückblicken und habe selbst viel Zeit gebraucht um ein paar wichtige Erfahrungen zu machen. Damit andere vielleicht schneller dahinter kommen wie manche Dinge besser laufen, möchte ich ein paar Eckpunkte hier aufschreiben ;)

1) Trenne immer Code und Design

Meine ersten Seiten bestanden aus reinem HTML und alles war in einer Datei… wie auch sonst. Dann kam JavaScript und CSS ins Spiel und damit die ersten, primitven, Anfänge Code auszulagern. Als ich dann mit PHP angefangen habe und diverse Bücher, Foren, Internetquellen und sonstiges dazu konsultierte, wurde der Code weiterhin in einer Datei gespeichert. Also HTML und wild dazwischen der PHP-Code.
Das erste mal, an das ich mich erinnern kann, das ich merkte das diese Art und Weise eigentlich misst ist war als ich auf einer Seite ein komplettes Layout Redesign machen wollte. Mir blieb im Prinzip nichts anderes übrig als die Seite komplett neu zu machen.
Mein Fazit heute: PHP-Code und Layout immer strickt trennen. So viel wie möglich mit CSS arbeiten (man kann fast alles im Layout damit aendern und CSS wird (sollte) immer in einer seperaten Datei gespeichert werden). Ich habe auch mal den Fehler gemacht und HTML code mit PHP erstellt und dann wiederum in das HTML-Template eingebunden… wenn möglich auch das vermeiden.

2) Arbeite Objektortientiert

Wie oben schon beschrieben habe ich frueher alles in einer Datei gehalten. Ob Funktionen, PHP-Code, HTML, CSS und Javascript. Alles in einer Datei. Warum ist das jetzt schlecht? Nehmen wir z.B. die Emailüberprüfung (also ob eine Emailadresse valid ist). Diese wird z.B. gebraucht wenn der User sich registriert. Haben wir einen Newsletter brauchen wir sie auch da. Bauen wir die Funktion in beide Dateien ein und möchten wir die Funktion einmal erweitern dann müssen wir beide Dateien ändern. Zusätzlich wird mehr Speicherplatz benötigt. Immer (!) auslagern. Prinzipell alles was mehrfach gebraucht wird… besser noch alle Funktionen und Klassen immer in externe Dateien auslagern.

Heute ist die Regel: Lagere alles aus was du kannst und was Sinnvoll ist! Das heisst alle Funktionen kommen in eine seperate Datei, Layoutheader und -footer definitv auslagern, so viel wie möglich mit CSS arbeiten (dies natuerlich in einer seperaten Datei speichern), mit Klassen arbeiten (das Thema ist sehr umfangreich), arbeiten mit Strukturen. Alles was mehrfach gebraucht wird bekommt eine Funktion… wenn nicht gar Klasse.

3) Daten die sich ändern können immer in eine (1) Variable legen

Auch hier das selbe Prinzip. Alles was sich ändern kann muss zentral in einer Variable gelagert werden. Aktuelles Beispiel: WordPress versendet (unter bestimmten Voraussetzungen) automatisch Emails. Die Absenderadresse ist fest im Code (an mehreren Stellen) eingebaut und setzt sich aus “wordpress@” und dem Domainnamen zusammen. Existiert diese Emailadresse nicht real so kann es zu Fehlern kommen… will man Sie ändern muss man in den Code. Hätte man diese in eine Variable (z.B. in der wp-config.php oder gar in der Datenbank) abgelegt waere es ein leichtes Sie zu ändern. Was ich mit dem Beispiel sagen will ist: Baue nichts in den Code ein was sich ändern kann. Besonders dann nicht wenn der Code / das Script weitergegeben werden soll.

4) Erfinde nicht jedes Rad neu

Das hier ist kein Aufruf zum Datenklau! Aber es gibt heutzutage zu (fast) jedem Thema ein Tutorial, einen Codeschnipsel, eine Anleitung oder einfach nur den eigenen Verstand. Man muss nicht für jede Funktion von vorn Anfangen und viele der Codestücke sind millionenfach erprobt und im Einsatz und damit auch fehlerfreier als die eigene Funktion vielleicht sein würde.
Somit kann man sich viel Zeit und Ärger ersparen und auf bestehende Codefragmente zurückgreifen. Sonst kann man auch gern mal bei den anderen Schauen und sich gedanken darüber machen wie die es wohl gelöst haben könnten.
Zu vielen Sachen gibt es sogar komplett fertige Systeme. Wobei ich persönlich selten komplette Systeme nutze. Wenn dann doch mal was geändert werden muss dann muss man sich erst in das Script einarbeiten und, je nachdem wie der Programmierer gearbeitet hat, kann das mitunter sehr kompliziert werden.

… to be continued.