Fragen zum besserem "Design"

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fragen zum besserem "Design"

    Ich würde unheimlich gerne noch ein wenig meine Fähigkeiten in Sachen Programmierung verbessern aber irgendwie fehlt es mir auch an Material oder auch wonach ich konkret suchen soll. Daher hätte ich hier mal einige Fragen im Bezug auf besseres "Design" und Programmierung.

    1. Ich habe jetzt schon ein wenig was in Sachen Programmierung gemacht, auch OOP und ich habe das Konzept jetzt wohl verstanden (denke ich). Dennoch wird es warscheinlich nicht schaden, wenn ich hier und da noch einmal was hiermit und damit mache aber ich bin auch oft in Verbindung mit OOP auf Design Patterns gestoßen oder auf MVC und damit habe ich noch nichts gemacht. Wäre das dann vielleicht so ein Schrit, in den man gehen könnte?

    Lohnt sich da ein Blick auf MVC oder gibt es da etwas, was noch mehr Verwendung findet? Design Patterns gibt es ja auch unheimlich viele oder nicht? Welche sollte ich mir denn da mal anschauen?

    2. Eigentlich eher so eine CSS Frage aber es gehört schon zu einem besseren Design dazu:
    Ich habe jetzt auch oft viele einzelne CSS Dateien aber lohnt es sich da, die CSS Dateien zu seperieren oder ab wann lohnt sich das (überhaupt)?

    Ich denke mal, wenn man sowas wie ein Frontend und ein Backend hat oder ähnliches und wenn man 500 Zeilen+ in einer Datei nicht braucht, dann lohnt sich das seperieren doch auch wohl oder nicht?

    Wann sollte man da seperieren oder sollte man das nicht?

    Das waren auch eigentlich soweit meine Fragen aber falls sonst noch jemand irgendwelche guten Tipps / Seiten / Bücherempfehlungen hat, dann immer her damit.

    Zuletzt geändert von Basoom; 12.11.2015, 08:04.

  • #2
    Ich versuche es mal, da anscheinend sonst niemand will.

    Mit Design-Patterns beschäftigen? Ein enthusiastisches Ja.

    Lohnt sich ein Blick auf MVC? Ja. Die Definition und Umsetzung davon ist nicht immer gänzlich unumstritten, aber in der PHP-Welt ist MVC ein Begriff, den sich etliche große Frameworks auf die Fahne schreiben.

    Gibt es da etwas, was noch mehr Verwendung findet? Meines Wissens nicht. Wobei MVC wie gesagt ein etwas verwaschener oder „nur“ kategorisierender Begriff ist, bei dem nicht 95 % der Umsetzung in Stein gemeißelt sind.

    Gibt es viele Design-Patterns? https://en.wikipedia.org/wiki/Software_design_pattern

    Welche sollte ich mir denn da mal anschauen? Das kann man meines Erachtens nicht pauschal beantworten. Wissen schadet nie. Wenn du die Beschreibungen auf der Wikipedia-Seite zur letzten Frage durchgehst, wirst du aber zum Beispiel schon selbst feststellen, dass einige davon einen eher eng umrissenen Einsatzzweck haben („Interpreter“) oder in Bezug auf PHP nicht so in den Kernbereich fallen (die Concurrency-Patterns). Wenn ich konkret antworten müsste: In den Kategorien Creational und Structural ist fast alles elementar sinnvoll, bei Behavioral wird es schon spezialisierter, aber so Sachen wie Iterator, Observer, Strategy, Visitor sind auch noch recht grundlegend. Da wirst du aber auch schnell merken, dass so was wie Observer möglicherweise besser zu Programmiersprachen passt, in denen die Laufzeit mehr als 100 Millisekunden beträgt und die vielleicht auch noch auf Benutzerinteraktionen (Klicks und so) reagieren.

    Lohnt es sich, CSS-Dateien zu separieren? Das ist nicht so wirklich mein Fachgebiet, aber ab einer gewissen Größe und Komplexität kann man das sicherlich mit Ja beantworten. Im Build-Prozess kannst du das dann auch wieder zu einer Datei zusammenfassen und den Code minimieren lassen. Das ist aber natürlich tendenziell eher was für große Projekte, was aber nicht heißen soll, dass man es nicht auch bei kleinen machen kann.

    Ab wann? Ich denke, das hängt von deinem Workflow und deinen Vorlieben und den möglicherweise eingesetzten Frameworks ab. Siehe auch die letzte Antwort. Wenn du zum Beispiel Compass (Compass Home | Compass Documentation) nutzt, hast du fast zwangsläufig schon mal mehrere Dateien, auch wenn das jetzt eine etwas stumpfe Antwort ist. So was lässt sich kaum pauschal beantworten.

    Wie wäre es mit einer Aufteilung bei 500+ Zeilen? Ich würde mich nicht auf so eine Zahl versteifen, aber wenn du das Gefühl hast, dass du mehr Struktur reinbringen kannst, wenn du die Regeln auf verschiedene Dateien verteilst: Klar, wieso nicht.

    Also wann denn jetzt? Siehe oben.

    Tipps und Buchempfehlungen und so? Mir wurde „kürzlich“ „Patterns kompakt: Entwurfsmuster für effektive Software-Entwicklung“ von Karl Eilebrecht und Gernot Starke empfohlen. Die Empfehlung kann ich wahrscheinlich weitergeben, obwohl ich das Buch selbst immer noch nicht in der Hand hatte. Ansonsten gibt es die Klassiker wie das Gang-of-Four-Buch, über die du zwangsläufig stolpern wirst. Speziell für PHP ist sicher auch das hier interessant: Professionelle Softwareentwicklung mit PHP 5. Ich denke, das Problem besteht weniger darin, die Informationen zu finden, sondern mehr darin, einen praktischen Anwendungskontext zu haben. Was wohl auch zu empfehlen ist, ist die Beschäftigung mit verbreiteten Frameworks wie Zend oder Symfony oder meinetwegen auch Laravel.

    Ergänzung: Gerade zum letzten Punkt ist meine Meinung so gut wie die von anderen Leuten im Web. Wenn du eine Suchmaschine bemühst, wirst du auch in der Hinsicht schnell fündig.

    Ganz interessant (wenn auch sicher nicht ganz einfach zu verfolgen) sind auch fachliche Diskussionen in Foren.

    Der Vollständigkeit halber sei auch noch auf diese Seiten verwiesen:

    - http://php-de.github.io/jumpto/grundlagen-quellen/
    - https://github.com/ziadoz/awesome-php
    - http://www.phptherightway.com/
    - https://en.wikipedia.org/wiki/Softwa...opment_process (u. a. Domain-driven design)
    Zuletzt geändert von mermshaus; 26.08.2015, 01:04.

    Kommentar

    Lädt...
    X