How-To

Webprojekte: Mit Coded Styleguides zum besseren Überblick

(Abbildung: Shutterstock/ PR Image Factory)

Bessere Übersicht, einfacheres Testing: Das alles geht mit Coded Styleguides. Doch was genau verbirgt sich dahinter? Und wie kann ein Entwickler-Team sie am effektivsten einsetzen?

Wenn eine Web-App nicht das tut, was sie soll, sind die Nutzer verärgert. Das Entwicklerteam, das die Anwendung ­verantwortet, muss den steigenden Nutzeransprüchen also stets gerecht werden. Zusätzlich kommen immer neue technische ­Anforderungen an Applikationen im Browser hinzu: ­Anwendungen, die einst klein und sauber gestartet sind, entwickeln sich immer mehr zu unwartbaren, grotesken Feature-Ansammlungen. Und die ­nächste Deadline steht oftmals bereits vor der Tür. Dabei drängen sich immer wieder ähnliche Fragen auf: Welche Komponenten ­existieren in meinem Projekt? Wie stelle ich sicher, dass sie wieder­verwendbar sind? Wie baue ich wartbare ­Features – und wie halte ich sie funktionstüchtig?

Einen möglichen Ausweg versprechen Coded Styleguides: Verzeichnisse von Komponenten in verschiedenen Zuständen. Ein typisches Beispiel könnte eine Button-Komponente sein. Ein Button kann die Zustände „primär“, „sekundär“, „deaktiviert“ oder „beschäftigt“ annehmen. In der Anwendung kann es mitunter schwierig sein, einen sekundären und beschäftigten Button zu finden, der gleichzeitig auch noch lange genug in diesem Zustand verharrt, um ihn zu analysieren. In einem Coded Styleguide wird dieser Button nun in seinen verschiedenen Zuständen dargestellt. Dadurch, dass die Darstellung isoliert erfolgt, lässt sich die Komponente ohne ihre Abhängigkeiten analysieren. Im Unterschied zu klassischen Styleguides, die sämtliche Design-Artefakte ­eines Projekts wie Typografie und Farbgebung berücksichtigen, ­konzentrieren sich Coded Styleguides ausschließlich auf diese funktionale Darstellung.

Weniger Daten nötig

Wenn sie aktiv und regelmäßig verwendet werden, sind Coded Styleguides eine lebendige Dokumentation aller Elemente eines Projektes. Sie liefern dem gesamten Team einen Überblick, wann und wie Komponenten verwendet werden sollten und in welchen Fällen andere Bestandteile zu bevorzugen sind. So verhindern sie, dass Komponenten mehrfach gebaut werden, und reduzieren das Code-Aufkommen eines Projektes deutlich. Ein geringerer Wartungs­aufwand und eine höhere Stabilität der verwendeten Komponenten sind die Folge.

Werden Coded Styleguides aktiv in den Entwicklungsprozess integriert, offenbart sich ein weiterer Vorteil: Entwickler beginnen, anders über Komponenten und ihre Schnittstellen mit der Außenwelt (API) nachzudenken. Teams entwickeln Komponenten mit minimalen Schnittstellenoberflächen, denn je weniger Daten konsumiert werden, desto geringer wird die Fehlerwahrscheinlichkeit. Statt also eine Komponente, die zum Beispiel einen Text darstellt, mit ihrer ganzen Business-Logik weiterzugeben, reicht es völlig, eben nur diesen Text an die Komponente zu leiten.

Ein Vorteil, der besonders Designern sehr am Herzen ­liegen dürfte, ist die Vereinheitlichung des Markenbildes und der Produkt­identität. Je länger an einem Projekt gearbeitet wird und je mehr Leute ihre Finger im Spiel haben, desto wahrscheinlicher ist es, dass von Standards abgewichen wird. So kann es passieren, dass statt des definierten Markenblaus ein leicht anderer Farbton verwendet wird, der vorher nicht definiert wurde. Ehe man sich versieht, werden aus einer Ausnahme zehn. All diese Abweichungen im eigentlichen Projekt zu finden, ist sehr schwer und aufwendig. Mit einem Coded Styleguide können alle Komponenten in Isolation betrachtet und fehlerhafte Farbnuancen schneller gefunden werden.

Zusätzlich wird das Vereinheitlichen von Schriftgrößen und Abständen vereinfacht, wenn man jede Komponente isoliert betrachten kann. Sobald ein Team Coded Styleguides regelmäßig nutzt, werden die Designer feststellen, dass sie nicht mehr jede Interaktion bis ins letzte Detail spezifizieren müssen.

Ein anderer positiver Effekt, den der Einsatz von Coded ­Styleguides mit sich bringt, ist die Unterstützung beim Testen. Ein elementares Element ist dabei die Wiederverwendung von Testdaten. Um zum Beispiel eine komplexe Kommentar­komponente zu testen, benötigt man Kommentar- und Nutzerdaten. Um die gleiche Komponente im Coded Styleguide darzustellen, werden die gleichen (Test-)Daten benötigt. Es reicht also, sie einmal zu definieren. Web-Applikationen werden häufig mittels „Snapshot Testing“-Verfahren getestet. Hierbei werden Komponenten in Textform transformiert und diese Textformen bei jedem Testdurchlauf mit dem vorherigen Durchlauf verglichen. Verändert sich die Textform in zwei aufeinanderfolgenden Durchläufen, gilt der Test als fehlgeschlagen. Statt textuelle Snapshots zu vergleichen, ist es mit Coded Styleguides möglich, echte Bilder (Screenshots) der Komponente zu machen und diese bei jedem Testdurchlauf Pixel für Pixel zu vergleichen. Dies gibt eine viel höhere Sicherheit, dass die Komponenten tatsächlich so aus­sehen wie sie aussehen sollen und nicht durch eine unzusammen­hängende Anpassung verändert wurden. Zwar sind solche Tests nicht neu und wurden auch nicht von Coded Styleguides erfunden, allerdings sind sie durch Coded Styleguides praktikabler und zuverlässiger geworden. Denn, statt die komplette Applikation zu starten, um einen Screenshot zu erzeugen, muss nur noch der Coded Styleguide (meist eine statische Website) gestartet werden. Weniger bewegliche Teile führen in diesem Fall zu einem stabileren Ergebnis mit weniger falschen Testergebnissen (False Negatives).

Werkstatt oder Ladenzeile

Die zahlreichen Tools und Bibliotheken für Coded Styleguides ­lassen sich grob in zwei Kategorien einteilen: Werkstätten und Ladenzeilen. Werkstattlösungen unterstützen dabei, Komponenten isoliert zu entwickeln sowie sie zu testen. Ladenzeilen­lösungen hingegen stellen die Präsentation von Komponenten und ihre verschiedenen Zustände in den Vordergrund. Sie eignen sich meist besser zur Dokumentation bestehender Komponenten. Soll also ein bestehendes Projekt umgearbeitet oder ein Team an eine neue Technologie herangeführt werden, ist eine Werkstattlösung vermutlich die bessere Wahl. Besteht bereits eine stabile Komponentenbasis oder ein Kundenprojekt soll verlängert werden, indem man die bisherige Arbeit ansprechend präsentiert, fällt die Wahl höchstwahrscheinlich auf eine Ladenzeilenlösung.

Styleguidist

Styleguidist ist eine Lösung, die sich eher auf die Ladenzeilen­charakteristik von Coded Styleguides konzentriert. Styleguidist wird als Open Source auf GitHub entwickelt und unterstützt ­momentan die UI-Frameworks React und Vue. Die Unter­stützung von weiteren Frameworks ist geplant, noch gibt es jedoch kein Datum.

Coded Styleguides wie Styleguidist erleichtern es, die Komponenten­übersicht bei größeren Webprojekten zu behalten. Styleguidist ist Open Source und unterstützt Frameworks wie React oder Vue. (Screenshot: Styleguidist)

Wie aber kommen meine Komponenten in den von ­Styleguidist erzeugten Styleguide? Hierzu verwendet Styleguidist Markdown-­Dateien. Zu jeder Komponente wird eine Markdown-Beschreibung angelegt. Erzeugt man innerhalb von Markdown einen Code-Block mit drei Backticks (`), kann in diesem Code-Block die Komponente referenziert werden. Styleguidist fügt die so ­referenzierten Komponenten dann automatisch dem Styleguide hinzu. Sollte die Komponente schon mit Code-Kommentaren versehen sein oder Proptypes verwenden, werden diese Informationen automatisch aus dem Quellcode extrahiert und auf Wunsch im Styleguide angezeigt.

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Schreib den ersten Kommentar!

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 65 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Stephan Dörner (Chefredakteur t3n.de) & das gesamte t3n-Team

Anleitung zur Deaktivierung