|
|
|
|
|
|
|
#1 (permalink) |
|
Benutzer
Registriert seit: 10.01.2007
Beiträge: 34
![]() |
Eins vorweg, den Programmierstil gibt es nicht, dem bin ich mir bewusst.
Jedoch habe ich gestern Abend wahrscheinlich zum 1536. Mal komplett neu mit einem anderen Stil angefangen zu programmieren. So komme ich doch nicht weiter ... Wie habt ihr euern Stil gefunden? Wo seht ihr in eurem Stil für Vor- und Nachteile? Wie läufts bei euch mit Objekten/Klassen? Benutzt ihr exzessiv für jede winzige Funktion eine Klasse? Was speichert ihr in einer Klasse? Eine einzelne News oder alle News in einem Array? Arbeitet ihr quasi funktionsorientiert mit Klassen? Beispiel News einfügen: Speichert ihr nur das Query in eurer Methode? Oder die ganzen Kontrollen? Baut ihr gar die if-Abfrage, ob der Submit-Button schon gedrückt wurde, in eine Klasse mit ein? 4 Zeichen einrücken oder 2? ' oder "? Leerzeichen zwischen Vergleichen und Deklarationen oder nicht? Wo liegen die Vor- und wo die Nachteile? Wie sichere ich mein Script am besten ab? Wie, wie, wie ... Ich sehe meinen letzten Ausweg darin, hier mal nachzufragen, ansonsten komm ich noch total durcheinander und nebenbei auch keinen Schritt voran, da ich mich immer wieder rückwärts bewege, nur weil das gerade ganz cool aussieht! Die ultimative Hilfe könnt ihr mir nicht geben, aber ihr könnt mir euern Programmierstil evtl. etwas vorstellen, also was für Klassen ihr benutzt usw. Ich weiß, ihr könnt es mir nicht abnehmen, meinen Stil zu finden und wenn ich euren Stil direkt übernehme, ist es ja auch nicht wirklich meiner. Also, schießt am besten einfach los, wäre super! |
|
|
|
|
|
|
PHP Code Flüsterer
Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten
|
|
|
|
#2 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 21.07.2005
Beiträge: 209
![]() |
Hallo Matze,
ein "guter" Stil bedeutet einfach, dass Dein Quellcode ein paar wichtige Eigenschaften besitzt (Shame on me, wenn ich welche vergesse umfangreiches Errorhandling (respekt. Exceptionhandler), error_reporting(E_ALL) aktiviert, portabler Quellcode (betriebssystemunabhängig, kleine Ranges für MySQL und PHP Versionen, mit denen der Code kompatibel ist), geeignete Variablennamen (schreibe am Besten so, dass jemand anders auch Deinen Quellcode verstünde), sauberes Variablenhandling (int/ Stringvariablen werden auch als solche behandelt und nicht verwürfelt), Quelltext kommentieren, Objekte richtig verwenden (vererbung, richtiges Handling), trenne PHP und HTML bzw Datenbankhandling(z.B. http://de.wikipedia.org/wiki/MVC ), nimm geeignete Funktionen für Deine Belange und achte auf Performanz (z.B. reicht oft strpos() statt einem regulären Ausdruck), mache Dich mit diversen Frameworks (PHP, AJAX) und Templateklassen (z.B. Smarty) vertraut. Lerne, an den richtigen Stellen nach Lösungen zu recherchieren - in den meisten Fällen hilft ein Blick ins Manual von PHP /MySQL und in die User-comments (gute Tips!). Alles andere kannst Du nur selbst lernen. Wenn Du Dich mit der Theorie auskennst und mit einem Projekt beschäftigt bist, wirst Du unweigerlich auf Probleme stoßen, die durch Deine Code-Infrastruktur bedingt sind. Da hilft nur analysieren und Lösung finden respektive das nächste mal anders zu handhaben! Lade Dir doch mal einfach ein CMS herunter, das schon objektorientiert programmiert ist und schau Dir an, wie der Quelltext da aussieht. Wenn Du dann mal durchsteigst, bringt das einiges. Hier noch ein kleiner Text dazu: http://thc.org/root/phun/unmaintain.html (nicht speziell für PHP) Hab wahrscheinlich die Hälfte vergessen, aber hoffentlich hilft Dir das schon. Gruß |
|
|
|
|
#3 (permalink) | |
|
Benutzer
Registriert seit: 10.01.2007
Beiträge: 34
![]() |
Danke für deine Antwort! Werde mir die Links mal durchlesen!
Zitat:
|
|
|
|
|
|
#4 (permalink) | ||||||||||||
|
Erfahrener Benutzer
Registriert seit: 21.05.2008
Beiträge: 9.937
![]() |
Hallo,
ich unterscheide jetzt einfach mal zwischen formeller und inhaltlicher Struktur. Kommen wir zuerst zur fomellen: - ein konsequent verwendeter Coding-Standard http://pear.php.net/manual/en/standards.php http://framework.zend.com/manual/en/...-standard.html - Englische Bezeichnernamen für Variablen, Funktionen und Klassen wählen (oder zumindest konsequent eine Sprache favorisieren, kein Mischmasch) - Pro Funktion oder Klasse, eine Datei. Hierbei wie erwähnt Vererbung mit einbauen. Inhaltliche Aspekte wären: - Doppelten Code vermeiden, diesen wenn möglich in einer Funktion oder Klasse zu abstrahieren. - Top-Down statt Bottom-Up Programmierung. Ich programmiere also von oben nach unten (benötigte Klassen und ihre Schnittstellen herausarbeiten), anstatt ganz klein anzufangen (Formular-Feld xy überprüfen). http://de.wikipedia.org/wiki/Top-Dow...ttom-Up-Design Lies dir doch mal folgende Bücher durch, sehr sehr gute Bücher, leider auch nicht ganz billig: Professionelle PHP 5-Programmierung Du kannst dir mal das Inhaltsverzeichnis über Amazon anschauen. Der pragmatische Programmierer Bezieht sich aufs Programmieren allgemein, trotzdem viele wichtige Tipps. Gerade für Fragen "wie programmiere ich richtig". Ich versuche jetzt nochmal deine direkten Fragen zu beantworten: Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Ich übergebe dem NewsManager beim Bearbeiten einer neuen News also die ID der News und den Daten-Array (zB $_POST). PHP-Code:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
|
||||||||||||
|
|
|
|
#5 (permalink) | ||||
|
Benutzer
Registriert seit: 10.01.2007
Beiträge: 34
![]() |
Hui! Soviel Text!
Zitat:
Zitat:
Zitat:
Zitat:
Was mir an deinen Scripts oft auffällt, ist, dass du beim Variablenname immer zu Beginn einen kleinen Buchstaben setzt, wofür steht der? |
||||
|
|
|
|
#6 (permalink) | |
|
Erfahrener Benutzer
Registriert seit: 27.10.2004
Beiträge: 1.093
![]() |
Zitat:
PHP-Code:
__________________
www.ChrisDiary.De |
|
|
|
|
|
#7 (permalink) | |
|
Erfahrener Benutzer
Registriert seit: 21.05.2008
Beiträge: 9.937
![]() |
Genau, fehlt noch $mVar für mixed.
Zitat:
Ich kann die Klasse auffordern, mir die letzten 30 News als Array von News-Objekten zurückzuliefern. PHP-Code:
PHP-Code:
|
|
|
|
|
|
#9 (permalink) | ||
|
Erfahrener Benutzer
Registriert seit: 06.06.2008
Beiträge: 1.624
PHP-Kenntnisse: Anfänger ![]() |
Zitat:
__________________
"Nobody is as smart as everybody" - Kevin Kelly — The best things in life aren't things |
||
|
|
|
|
#10 (permalink) |
|
moderatives Dielektrikum
Registriert seit: 21.05.2008
Beiträge: 21.316
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Die von Zergling verlinkten Pear:Coding Standards sind ziemlich ausführlich und gut. Obgleich ich da einiges anders mache (
z.b. - ist mir eine Beschränkung auf 80 Zeichen Breite wichtiger als 4 Zeichen Einrückung - finde ich es sinnvoll, den Shell Kommentar als dritte Möglichkeit zur Kommentierung zu nutzen: Kommentierung vs. Code auskommentieren - finde ich die docblock Kommentar-Syntax umständlich usw. ) ist es sinnvoll, für sich selbst seinen eigenen Coding-Standard zu 'setzen', indem man einfach mal eine oder zwei längere Klassen konsequent damit umsetzt - und dabei vielleicht Nachteile erkennt und 'rausdefiniert'. professionelle softwareentwicklung mit php5 http://php-coding-standard.de Wenn dann noch das Arbeitswerkzeug und die -umgebung stimmt, kommt schon fast automatisch ein hochwertiges Produkt heraus. |
|
|
|
|
|
|
PHP Code Flüsterer
Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten
|
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Programmierstil | Fatal Error | Off-Topic Diskussionen | 19 | 04.10.2006 21: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 | |
| imap_headerinfo: "richtige" Empfängeradresse finde | PHP-Fortgeschrittene | 2 | 19.01.2005 13:20 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| sprintf schneller oder stringverknüpfung, top-down und bottom-up programmierstil |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.