Professionelle Webentwicklung und Wartbarkeit (webinale, Berlin)

Vortrag vom 27. Mai 2009, exklusiv für die webinale, Berlin. Schwerpunkt: Webentwicklung (RSS-Feed für alle Themen).

Der Vortrag wurde in einer Einführung in Wartbarkeit durch weitere Informationen und Beispiele ergänzt und wird dort weitergepflegt.

Inhalt

  1. Definition von Wartbarkeit
  2. Aber
  3. Annahmen
  4. Populäre Wartungsprobleme

Definition von Wartbarkeit

Die Leichtigkeit, mit der ein System – Website oder Webapplikation – verändert oder erweitert werden kann.

Aber

… manche Dinge sollten sich nicht ändern müssen; die Ziele lauten »Separation of Concerns« und Orthogonalität:

Die grundlegende Idee hinter Orthogonalität ist es, dass Dinge, die konzeptionell nichts miteinander zu tun haben, in einem System ebenfalls nichts miteinander zu tun haben sollten.

Dieses Prinzip wird im Bereich der Webentwicklung oftmals verletzt, und ist dementsprechend Kernpunkt dieser Präsentation.

Annahmen

  • Webentwicklung dreht sich um Wahrscheinlichkeiten. Wartbarkeit zu verbessern, beinhaltet, die Wahrscheinlichkeit von Ă„nderungen zu minimieren.
  • Veränderungen bedeuten Kosten. Diese Kosten sind die Motivation, Wartbarkeit zu verbessern.
    • Ein System, bei dem Veränderungen teuer oder riskant sind, bedeutet »GelegenheitseinbuĂźen«.

  • Veränderungen sind unvermeidbar, und dennoch gibt es vermeidbare Veränderungen. Das ist das Geheimnis, um Wartbarkeit zu verbessern.
  • Im Bereich der Webentwicklung sind HTML-Ă„nderungen am teuersten.
    • Das meiste Wartungspotential liegt im HTML.

Populäre Wartungsprobleme

Aufgeblähter Code

  • Problem: Markup, das bereits jetzt oder demnächst ĂĽberflĂĽssig ist.
  • Beispiele: »Divitis« und »Classitis«.
  • Lösungen: »Keep it simple.«

Präsentationsbezogene Elemente und Attribute

  • Problem: Markup, das die Darstellung bestimmt oder dazu verwendet wird, die Darstellung zu kontrollieren.
  • Beispiele: center, font, u; Layout-Tabellen.
  • Daten: Googles 2005er Webstatistiken sowie Philip Taylors HTML-Stichproben.
  • Lösungen:
    • Ziehen Sie »Strict«- »Transitional«-DTDs vor (und validieren Sie).
    • Verschieben Sie darstellungs- und verhaltensbezogenen Code in externe Stylesheets und Skripte.

Präsentationsbezogene ID- und Klassennamen

  • Problem: ID- und Klassennamen – Markup –, die Darstellung, nicht Funktion widerspiegeln.
  • Beispiele: rot, right, clearfix, w1024.
  • Daten: Googles 2005er Webstatistiken.
  • Lösungen:
    • Beschränken Sie den Einsatz von IDs und Klassen auf ein Minimum.
    • Verwenden Sie funktionsbezogene ID- und Klassennamen.
    • Verwenden Sie neutrale ID- und Klassennamen.
    • Allgemein: Bevorzugen Sie Namen, die so kurz wie möglich, aber so lang wie nötig sind.

Zuviele aus dem Markup referenzierte Stylesheets und Skripte

Ungeschickte Stylesheet- und Skriptnamen

Medientypdefinitionen im Markup

  • Problem: Stylesheets, die Layout- oder Geräteabhängigkeiten ans Markup ketten.
  • Beispiele: <link rel="stylesheet" href="standard.css" media="screen">.
  • Lösungen: Geben Sie Medientypen innerhalb von Stylesheets an.

Schwer erweiterbares Markup

  • Problem: Zu generische ID- und Klassennamen, die in GroĂźprojekten zu Mehrfachverwendung neigen und damit die Verständlichkeit und Wartbarkeit reduzieren.
  • Beispiele: Mikroformate (wie location in hCalendar oder logo in hCard).
  • Lösungen: Verwenden Sie »Pseudo-Namensräume« – wenn Ihr Projekt mit hoher Wahrscheinlichkeit komplex und umfangreich wird.
War dies nützlich oder interessant? Teile diesen Beitrag, und unterstütze meine Arbeit, indem du mit meinen E-Books lernst!

Ăśber mich

Jens Oliver Meiert, am 9. November 2024.

Ich bin Jens (lang: Jens Oliver Meiert), und ich bin ein Webentwickler, Manager und Autor. Ich habe als technischer Leiter und Engineering Manager für kleine und große Unternehmen gearbeitet, ich bin ein gelegentlicher Mitwirkender an Webstandards (wie HTML, CSS, WCAG) und ich schreibe und prüfe Fachbücher für O’Reilly und Frontend Dogma.

Ich experimentiere gerne, nicht nur in der Webentwicklung und im Engineering Management, sondern auch in anderen Bereichen wie der Philosophie. Hier auf meiert.com teile ich einige meiner Erfahrungen und Ansichten. (Sei jederzeit kritisch, interpretiere wohlwollend und gib Feedback.)