Permalink

Was ist ein guter Standard?

Wartbarkeit

Sowohl Spezifikationen als auch Dateien oder Programme, die ihnen entsprechen, müssen gewartet werden. Es gibt kaum Daten oder Dienste, die niemals aktualisiert oder konvertiert werden müssen. Manchmal kann ein Programm die Änderungen vornehmen, aber irgendwann kommt immer der Punkt, an dem eine größere Änderung vorgenommen werden und ein Mensch einbezogen werden muss. Dann ist es von Vorteil, wenn die Größe eines zu ändernden Projektes überschaubar ist und eine klare Struktur vorliegt. Zudem kann eine lange Zeit vergangen sein, seit das Projekt das letzte Mal bearbeitet worden ist, und womöglich hat der ursprüngliche Autor vor längerer Zeit zu einem besseren Job gewechselt. Es ist vermutlich unvermeidbar, dass zum Beispiel ein XSL-Stylesheet schwieriger zu ändern ist als ein CSS-Stylesheet, aber gerade dann ist es gut, dass die XSL-Entwickler einige Zeit dafür aufgewendet haben, geeignete Schlüsselwörter auszuwählen, eine Syntax für Kommentare bereit zu stellen und Code-Einrückungen zu erlauben.

Natürlich gibt es keine Hilfe für Autoren (oder Programme!), die unlesbaren Code generieren. Falls Sie HTML kennen und mal einen Blick auf den Quelltext der einen oder anderen Website geworfen haben, haben Sie sich wahrscheinlich hin und wieder gewundert, welches Monster in der Lage ist, den HTML-Code einer einfachen Webseite oder E-Mail in einer Art und Weise zu verstümmeln, dass es schwer ist zu glauben, dass HTML als »strukturierte Sprache« bezeichnet wird. Manche Menschen bringen alles durcheinander, wenn man ihnen die Möglichkeit dazu bietet.

CSS zum Beispiel hat viele Funktionen, um Menschen bei der Wartung von Stylesheets zu unterstützen: @import erlaubt es, große Stylesheets in logische Einheiten aufzuteilen; die Gruppierung von Selektoren und Regeln ermöglicht es, Teile gemeinsam zu verwalten und zusammen zu verändern; zusammenfassende Eigenschaften (Shorthand Properties) bieten einen bequemen (und schnellen) Weg, in einer einzigen Regel unterschiedliche Eigenschaften festzulegen, die zusammengehören.

Andererseits geht CSS nicht so weit, dass es mächtige Funktionen anbietet, wie sie in Programmiersprachen verwenden werden können: Makros, Variablen, symbolische Konstanten, Bedingungen, Ausdrücke mit Variablen und so weiter. Diese Dinge gäben Profis eine Menge Möglichkeiten an die Hand, weniger erfahrene Nutzer jedoch könnten sich unwissentlich um Kopf und Kragen programmieren; oder – was wahrscheinlicher ist – sie wären dermaßen abgeschreckt, dass sie mit CSS nichts mehr zu tun haben wollen. Hier gilt es, einen Mittelweg zu finden, und für CSS ist dieser Mittelweg ein anderer als für manch andere Dinge.

Gerade bei CSS ist es Tatsache, dass erfahrenen Usern weitere Möglichkeiten angeboten werden. Es existiert das DOM, das den Zugriff auf CSS durch jede beliebige Programmiersprache ermöglicht. Damit sind wir beim Thema Modularität.