Abo
  1. Foren
  2. Kommentare
  3. Security
  4. Alle Kommentare zum Artikel
  5. › Extrem kritische Lücke: Beliebige…

Kein Wunder. Drupal Sourcecode ist Kraut und Rüben

  1. Thema

Neues Thema Ansicht wechseln


  1. Kein Wunder. Drupal Sourcecode ist Kraut und Rüben

    Autor: pioneer 29.03.18 - 10:37

    Seit Version 8 wird zwar das eigentlich gute Symfony Framework eingesetzt, verstanden wurde es von den Drupal Core Entwicklern allerdings offensichtlich nicht, was schon daran erkennbar ist, dass es immer noch Hooks gibt.

    Aber auch Prinzipien wie Dependency Injection, Single Responsibility und Objektorientierung wurden nicht im Ansatz verstanden.

    Überall wird statt mit Interfaces mit arrays hantiert. Furchtbar!

    Man kann verantwortungsvollen Website-Betreibern nur dringend raten, die Finger davon zu lassen.

  2. Re: Kein Wunder. Drupal Sourcecode ist Kraut und Rüben

    Autor: Cybso 29.03.18 - 10:43

    Nur weil du bei Heise und Golem den gleichen Kommentar postest wird er nicht wahrer.

  3. Re: Kein Wunder. Drupal Sourcecode ist Kraut und Rüben

    Autor: pioneer 29.03.18 - 10:48

    Stimmt, das ist nicht der Grund, warum er wahr ist. Wahr ist er trotzdem.

  4. Re: Kein Wunder. Drupal Sourcecode ist Kraut und Rüben

    Autor: HanSwurst101 29.03.18 - 11:27

    pioneer schrieb:
    --------------------------------------------------------------------------------
    > Aber auch Prinzipien wie Dependency Injection, Single Responsibility und
    > Objektorientierung wurden nicht im Ansatz verstanden.
    >
    > Überall wird statt mit Interfaces mit arrays hantiert. Furchtbar!

    Gibt es dafür ein konkretes Beispiel? Bzw. wo ist das Problem?

  5. Re: Kein Wunder. Drupal Sourcecode ist Kraut und Rüben

    Autor: xUser 29.03.18 - 11:38

    pioneer schrieb:
    --------------------------------------------------------------------------------

    > Überall wird statt mit Interfaces mit arrays hantiert. Furchtbar!

    Wie ersetzt man denn ein Array durch ein Interface?

  6. Re: Kein Wunder. Drupal Sourcecode ist Kraut und Rüben

    Autor: Wurstbratgerät 29.03.18 - 11:40

    xUser schrieb:
    --------------------------------------------------------------------------------
    > pioneer schrieb:
    > ---------------------------------------------------------------------------
    > -----
    >
    > > Überall wird statt mit Interfaces mit arrays hantiert. Furchtbar!
    >
    > Wie ersetzt man denn ein Array durch ein Interface?

    einfach nen fgrep auf die sourcen und gut is

  7. Re: Kein Wunder. Drupal Sourcecode ist Kraut und Rüben

    Autor: pioneer 29.03.18 - 12:08

    HanSwurst101 schrieb:

    > > Überall wird statt mit Interfaces mit arrays hantiert. Furchtbar!
    >
    > Gibt es dafür ein konkretes Beispiel? Bzw. wo ist das Problem?

    Naja, zum Beispiel die berüchtigten Render Arrays mal als ganz zentraler Bestandteil des Systems.

    https://www.drupal.org/docs/8/api/render-api/render-arrays

    Das Problem mit arrays ist, dass sie keine verbindliche Struktur haben. Man hofft dass das Richtige drin ist, aber da jeder Hook Wurst (Pun intended) den Inhalt verändern kann, weiß man es zur Laufzeit halt nicht. Das ist insbesondere bei der gegebenen Komplexität hoch anfällig für Fehler und auch Sicherheitslücken.

    Interfaces dagegen sind verbindlich. Wird ein Interface verletzt, fällt das häufig schon bei der Entwicklung in der IDE, spätestens aber bei der ersten Benutzung auf (die immer beim Entwickler stattfindet, während er den Code schreibt)

    Die Wahrscheinlichkeit von Fehlern ist so stark reduziert.



    5 mal bearbeitet, zuletzt am 29.03.18 12:15 durch pioneer.

  8. Re: Kein Wunder. Drupal Sourcecode ist Kraut und Rüben

    Autor: pioneer 29.03.18 - 12:13

    xUser schrieb:
    >
    > Wie ersetzt man denn ein Array durch ein Interface?

    Nicht durch eines, aber durch viele. Ich kann hier jetzt keinen Softwarearchitekturworkshop geben, aber dies sind gute Lektüren zum Thema:

    https://www.amazon.de/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882

    und

    https://www.amazon.de/Principles-Package-Design-Preparing-reuse/dp/9082120143

  9. Re: Kein Wunder. Drupal Sourcecode ist Kraut und Rüben

    Autor: pioneer 29.03.18 - 12:14

    Wurstbratgerät schrieb:

    > einfach nen fgrep auf die sourcen und gut is

    :-D

  10. Re: Kein Wunder. Drupal Sourcecode ist Kraut und Rüben

    Autor: xUser 29.03.18 - 13:04

    pioneer schrieb:
    --------------------------------------------------------------------------------
    > HanSwurst101 schrieb:
    >
    > > > Überall wird statt mit Interfaces mit arrays hantiert. Furchtbar!
    > >
    > > Gibt es dafür ein konkretes Beispiel? Bzw. wo ist das Problem?
    >
    > Naja, zum Beispiel die berüchtigten Render Arrays mal als ganz zentraler
    > Bestandteil des Systems.
    >
    > www.drupal.org
    >
    > Das Problem mit arrays ist, dass sie keine verbindliche Struktur haben. Man
    > hofft dass das Richtige drin ist, aber da jeder Hook Wurst (Pun intended)
    > den Inhalt verändern kann, weiß man es zur Laufzeit halt nicht. Das ist
    > insbesondere bei der gegebenen Komplexität hoch anfällig für Fehler und
    > auch Sicherheitslücken.
    >
    > Interfaces dagegen sind verbindlich. Wird ein Interface verletzt, fällt das
    > häufig schon bei der Entwicklung in der IDE, spätestens aber bei der ersten
    > Benutzung auf (die immer beim Entwickler stattfindet, während er den Code
    > schreibt)
    >
    > Die Wahrscheinlichkeit von Fehlern ist so stark reduziert.

    Aber doch nicht im konkreten Fall. Hier geht es ja genau darum, die Ausgabe beliebig ändern zu können ohne dabei die Komplexität ins Maximum zu treiben.
    TYPO3 hat trotz andere Historie ein ganz ähnliches System (TypoScript, letztlich auch nur ein Render-Array welches mit ContentObjectRender gerendert wird).

    Das Thema wird sehr relevant, wenn man ein Plugin System hat, welches beliebig ins Rendering eingreifen können soll. Also die Daten als auch die Ausgabe verändern können soll.

    Gleichzeitig soll das Ganze noch einfach zu Updaten und schnell sein. Außerdem bringt es gar nichts, wenn man ein zu triviales Interface definiert, weil dann kann man eben auch komplett weglassen, weil es die Komplexität nicht abbildet.

  11. Re: Kein Wunder. Drupal Sourcecode ist Kraut und Rüben

    Autor: HanSwurst101 29.03.18 - 13:51

    pioneer schrieb:
    --------------------------------------------------------------------------------
    > HanSwurst101 schrieb:
    >
    > > > Überall wird statt mit Interfaces mit arrays hantiert. Furchtbar!
    > >
    > > Gibt es dafür ein konkretes Beispiel? Bzw. wo ist das Problem?
    >
    > Naja, zum Beispiel die berüchtigten Render Arrays mal als ganz zentraler
    > Bestandteil des Systems.
    >
    > www.drupal.org
    >
    > Das Problem mit arrays ist, dass sie keine verbindliche Struktur haben. Man
    > hofft dass das Richtige drin ist, aber da jeder Hook Wurst (Pun intended)
    > den Inhalt verändern kann, weiß man es zur Laufzeit halt nicht. Das ist
    > insbesondere bei der gegebenen Komplexität hoch anfällig für Fehler und
    > auch Sicherheitslücken.
    >
    > Interfaces dagegen sind verbindlich. Wird ein Interface verletzt, fällt das
    > häufig schon bei der Entwicklung in der IDE, spätestens aber bei der ersten
    > Benutzung auf (die immer beim Entwickler stattfindet, während er den Code
    > schreibt)
    >
    > Die Wahrscheinlichkeit von Fehlern ist so stark reduziert.

    So wie ich das Überblicke ist es hier doch so gewollt damit man die Ausgabe erweitern und ändern kann um damit individuelle Seiten erstellen zu können.

  12. Re: Kein Wunder. Drupal Sourcecode ist Kraut und Rüben

    Autor: ffx2010 29.03.18 - 15:37

    Das sehe ich ganz ähnlich wie der OP. Drupal ist sowohl von Struktur, als auch Konzept und Code-Qualität eine Totalkatastrophe. Es ist unnötig kompliziert, extrem buganfällig, dabei wenig leistungsfähig. Ich kann aber verstehen, dass bestehende Systeme wegen des extremen Aufwands da nicht wegwollen. Das gleiche gilt auch für Wordpress und Typo3.

    Heute gibt es mit PHP 7+, Laravel, Symfony und dafür verfügbare CMS-Systeme richtig gute Software kostenlos. Mit gutem Support durch Community über moderne Kommunikations- und Update-Wege. Super effiziente Frameworks, minimalisierter, extrem klar strukturierter Quellcode, neuste OO-Techniken benutzend, einfach erweiterbar, auch über längere Zeit. Absolut saubere Trennung von Model, View und Controller, einfach die besten, modernen Design-Konzepte, von denen keines in Drupal oder Wordpress vorhanden ist.

    Wer Drupal heute noch benutzt bei neuen Projekten, ist meiner Meinung nach ein Dinosaurier.

  13. Re: Kein Wunder. Drupal Sourcecode ist Kraut und Rüben

    Autor: Cybso 29.03.18 - 16:03

    Was mich an Drupal hält ist das Konzept der Content Types und Views, mit denen sich strukturierte Inhalte extem einfach anlegen und abbilden lassen. Andere CMS fokusieren sich eher auf Blogs und mehr oder weniger statische Seiten. Wenn ich sowas brauche ist Wordpress sicher eine gute Wahl.



    1 mal bearbeitet, zuletzt am 29.03.18 16:04 durch Cybso.

  14. Re: Kein Wunder. Drupal Sourcecode ist Kraut und Rüben

    Autor: a user 29.03.18 - 17:22

    HanSwurst101 schrieb:
    --------------------------------------------------------------------------------
    > pioneer schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > HanSwurst101 schrieb:
    > >
    > > > > Überall wird statt mit Interfaces mit arrays hantiert. Furchtbar!
    > > >
    > > > Gibt es dafür ein konkretes Beispiel? Bzw. wo ist das Problem?
    > >
    > > Naja, zum Beispiel die berüchtigten Render Arrays mal als ganz zentraler
    > > Bestandteil des Systems.
    > >
    > > www.drupal.org
    > >
    > > Das Problem mit arrays ist, dass sie keine verbindliche Struktur haben.
    > Man
    > > hofft dass das Richtige drin ist, aber da jeder Hook Wurst (Pun
    > intended)
    > > den Inhalt verändern kann, weiß man es zur Laufzeit halt nicht. Das ist
    > > insbesondere bei der gegebenen Komplexität hoch anfällig für Fehler und
    > > auch Sicherheitslücken.
    > >
    > > Interfaces dagegen sind verbindlich. Wird ein Interface verletzt, fällt
    > das
    > > häufig schon bei der Entwicklung in der IDE, spätestens aber bei der
    > ersten
    > > Benutzung auf (die immer beim Entwickler stattfindet, während er den
    > Code
    > > schreibt)
    > >
    > > Die Wahrscheinlichkeit von Fehlern ist so stark reduziert.
    >
    > So wie ich das Überblicke ist es hier doch so gewollt damit man die Ausgabe
    > erweitern und ändern kann um damit individuelle Seiten erstellen zu können.

    Ja, das ist damit gewollt, aber es ist ein beschissener Weg es zu tun.

  15. Re: Kein Wunder. Drupal Sourcecode ist Kraut und Rüben

    Autor: pioneer 29.03.18 - 17:46

    Du brauchst nicht ein Interface, sondern viele und natürlich auch mindestens einen guten Softwarearchitekten. Die gewünschte Flexibilität is so auch zu erreichen bei gleichzeitiger Reduktion unerwünschter Nebeneffekte. Ein grausiges Kraut und Rüben Array zu verwenden, zeugt nur davon, dass man es halt nicht besser kann.

  16. Re: Kein Wunder. Drupal Sourcecode ist Kraut und Rüben

    Autor: Blindie 30.03.18 - 11:39

    Kannst du konkrete Beispiele nennen? Am besten welche die vom Plugin Umfang ähnlich sind und nicht alles händisch selber neu Programmieren muss?

    ffx2010 schrieb:
    --------------------------------------------------------------------------------
    > Das sehe ich ganz ähnlich wie der OP. Drupal ist sowohl von Struktur, als
    > auch Konzept und Code-Qualität eine Totalkatastrophe. Es ist unnötig
    > kompliziert, extrem buganfällig, dabei wenig leistungsfähig. Ich kann aber
    > verstehen, dass bestehende Systeme wegen des extremen Aufwands da nicht
    > wegwollen. Das gleiche gilt auch für Wordpress und Typo3.
    >
    > Heute gibt es mit PHP 7+, Laravel, Symfony und dafür verfügbare CMS-Systeme
    > richtig gute Software kostenlos. Mit gutem Support durch Community über
    > moderne Kommunikations- und Update-Wege. Super effiziente Frameworks,
    > minimalisierter, extrem klar strukturierter Quellcode, neuste OO-Techniken
    > benutzend, einfach erweiterbar, auch über längere Zeit. Absolut saubere
    > Trennung von Model, View und Controller, einfach die besten, modernen
    > Design-Konzepte, von denen keines in Drupal oder Wordpress vorhanden ist.
    >
    > Wer Drupal heute noch benutzt bei neuen Projekten, ist meiner Meinung nach
    > ein Dinosaurier.

  17. Re: Kein Wunder. Drupal Sourcecode ist Kraut und Rüben

    Autor: azeu 30.03.18 - 14:35

    Das Thema "Clean Code" scheint genauso "simpel" zu sein wie das Thema "gesundes Essen", scheint mir.

    Habe diverse Quellen dazu gefunden und konsumiert, aber auf eine klare, einheitliche Vorgehensweise bin ich noch nicht gestoßen.

    DU bist ...

  18. Re: Kein Wunder. Drupal Sourcecode ist Kraut und Rüben

    Autor: pioneer 03.04.18 - 09:31

    azeu schrieb:
    --------------------------------------------------------------------------------
    > Das Thema "Clean Code" scheint genauso "simpel" zu sein wie das Thema
    > "gesundes Essen", scheint mir.
    >
    > Habe diverse Quellen dazu gefunden und konsumiert, aber auf eine klare,
    > einheitliche Vorgehensweise bin ich noch nicht gestoßen.

    Sorry, war über's Wochenende in Urlaub. Falls es Dich noch interessiert: Clean Code ist keine Vorgehensweise, sondern eine ganze Reihe von Prinzipien und Praktiken, durch deren Anwendung man Code so gestalten kann, dass er leicht verständlich und sogar so selbsterklärend ist, dass er ohne Kommentare auskommt. Die SOLID Prinzipien stehen dabei im Mittelpunkt. https://en.wikipedia.org/wiki/SOLID_(object-oriented_design)

    Wenn man alle diese Praktiken konsequent einsetzt, landet man jedoch schnell im, Bereich des Overengineering. Letztlich ist es abhängig von der Projektgröße und -laufzeit, wie stark man sich an den Regeln orientiert. Zunächst einmal bedeutet dies nämlich einen höheren Aufwand. Der Benefit ist Wartbarkeit und Testbarkeit. Also wird man eine Microsite für ein Messe-Event, die nach ein paar Monaten eingestampft wird sicher nicht so solide entwickeln, wie eine Anwendung mit jahrelanger Laufzeit.

    Letztlich führt die Verinnerlichung dieser Regeln aber generell zu einem Programmierstil, der für andere (oder ein selbst nach einiger Zeit) leichter verständlich und besser wartbar ist.

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Stellenmarkt
  1. maxon motor gmbh, Sexau nahe Freiburg im Breisgau
  2. SCHUFA Holding AG, Wiesbaden
  3. UnternehmerTUM GmbH, Garching
  4. CONITAS GmbH, Karlsruhe

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote
  1. (reduzierte Überstände, Restposten & Co.)


Haben wir etwas übersehen?

E-Mail an news@golem.de


Mobile-Games-Auslese: Superheld und Schlapphutträger zu Besuch im Smartphone
Mobile-Games-Auslese
Superheld und Schlapphutträger zu Besuch im Smartphone

Markus Fenix aus Gears of War kämpft in Gears Pop gegen fiese (Knuddel-)Aliens und der Typ in Tombshaft erinnert an Indiana Jones: In Mobile Games tummelt sich derzeit echte und falsche Prominenz.
Von Rainer Sigl

  1. Mobile-Games-Auslese Verdrehte Räume und verrückte Zombies für unterwegs
  2. Dr. Mario World im Test Spielspaß für Privatpatienten
  3. Mobile-Games-Auslese Ein Wunderjunge und dreimal kostenloser Mobilspaß

Recruiting: Wenn das eigene Wachstum zur Herausforderung wird
Recruiting
Wenn das eigene Wachstum zur Herausforderung wird

Gerade im IT-Bereich können Unternehmen sehr schnell wachsen. Dabei können der Fachkräftemangel und das schnelle Onboarding von neuen Mitarbeitern zum Problem werden. Wir haben uns bei kleinen Startups und Großkonzernen umgehört, wie sie in so einer Situation mit den Herausforderungen umgehen.
Von Robert Meyer

  1. Recruiting Alle Einstellungsprozesse sind fehlerhaft
  2. LoL Was ein E-Sport-Trainer können muss
  3. IT-Arbeit Was fürs Auge

TVs, Konsolen und HDMI 2.1: Wann wir mit 8K rechnen können
TVs, Konsolen und HDMI 2.1
Wann wir mit 8K rechnen können

Ifa 2019 Die Ifa 2019 ist bezüglich 8K nüchtern. Wird die hohe Auflösung wie 4K fast eine Dekade lang eine Nische bleiben? Oder bringen kommende Spielekonsolen und Anschlussstandards die Auflösung schneller als gedacht?
Eine Analyse von Oliver Nickel

  1. Kameras und Fernseher Ein 120-Zoll-TV mit 8K reicht Sharp nicht
  2. Sony ZG9 Erste 8K-Fernseher werden bald verkauft
  3. 8K Sharp schließt sich dem Micro-Four-Thirds-System an

  1. Innovationen auf der IAA: Vom Abbiegeassistenten bis zum Solarglasdach
    Innovationen auf der IAA
    Vom Abbiegeassistenten bis zum Solarglasdach

    IAA 2019 Auf der IAA in Frankfurt sieht man nicht nur neue Autos, sondern auch etliche innovative Anwendungen und Bauteile. Zulieferer und Forscher präsentieren in Frankfurt ihre Ideen. Eine kleine Auswahl.

  2. Fiber To The Pole: Kabelnetzbetreiber für oberirdische Glasfaser
    Fiber To The Pole
    Kabelnetzbetreiber für oberirdische Glasfaser

    Glasfaser an den Masten sei die einzige Möglichkeit, die Ausbauziele der Bundesregierung noch zu erfüllen. Keinere Firmen sind von einem Vorstoß von Bundeskanzleramtsminister Helge Braun begeistert. Doch das hat auch Nachteile.

  3. Bayern: Mobilfunkversorgung an Autobahnen weiter lückenhaft
    Bayern
    Mobilfunkversorgung an Autobahnen weiter lückenhaft

    Bayern hat als erstes Bundesland selbst nachgemessen und herausgefunden, dass der LTE-Ausbau nicht den Auflagen entspricht. Am besten steht die Telekom da. Doch eigentlich hätte die Landesregierung gar nicht selbst messen müssen.


  1. 07:00

  2. 18:39

  3. 17:41

  4. 16:27

  5. 16:05

  6. 15:33

  7. 15:00

  8. 15:00