Ein Werkzeug, das in Ihrem Web-Codierungsarsenal enthalten sein sollte, ist das Zustandsdiagramm. Ein Zustandsdiagramm zeigt die verschiedenen "Zustände" (Reaktionen), in denen sich Ihre Anwendung (z. B. eine Website) befinden kann, sowie die Aktionen oder Eingaben (vom Benutzer), die erforderlich sind, um zu einem bestimmten Status zu gelangen. Ein Zustandsdiagramm hilft Ihnen dabei, alle möglichen Benutzer- / Anwendungsinteraktionen zu konkretisieren. Dies erhöht die Wahrscheinlichkeit, dass Sie zumindest die Kodierung aller Möglichkeiten in Betracht ziehen, nur weil Sie sie jetzt alle kennen - was die Wahrscheinlichkeit verringert, dass Sie fehlerhaften Code haben oder, schlimmer, bestimmte Funktionen nicht verwenden.
Ein Zustandsdiagramm besteht aus zwei Komponenten: Kreise zur Darstellung von Zuständen (Anwendungsreaktionen / Ausgabe) und Pfeile zur Darstellung von Übergängen (Benutzeraktionen / Eingaben). Zustandsdiagramme sind sehr praktisch für komplexe und weniger komplexe Computeranwendungen. Bei der Website-Entwicklung sind Zustandsdiagramme jedoch nicht immer von Nutzen:
Wenn Sie hingegen eine Website erstellen, auf der Sie spezielle Übergänge behandeln müssen, kann ein Zustandsdiagramm von großem Nutzen sein:
Das Überraschende ist, dass Zustandsdiagramme nicht allzu kompliziert sind. Nach meiner Erfahrung werden sie jedoch von den meisten Programmierern nicht allzu oft verwendet, trotz der Vorteile (tieferes Verständnis der Benutzerinteraktionen; Kohäsion des Codieraufwands). Ich schwöre bei ihnen - oder habe es gemacht, als ich jeden Tag in verschiedenen Jobs programmiert habe.
Es wird empfohlen, Zustandsdiagramme zuerst auf Papier zu erstellen und sie dann, wenn und nur dann, in eine digitale Kopie zu übertragen. (Die Skalierbarkeit von Eingabe- / Darstellungsbeziehungen auf Papier ist etwas Konkretes, das sie in Ihrem Kopf konkreter macht, wodurch es einfacher wird, alle möglichen Interaktionen zu berücksichtigen und so Fehler in Ihren Anwendungen zu reduzieren.)
Ein Zustandsdiagramm besteht aus:
Direkt unten sehen Sie ein einfaches Beispiel, auf das später in diesem Artikel eingegangen wird:
Hier sind die Schritte zum Erstellen von Zustandsdiagrammen (mit einer Neigung zu website-basierten Anwendungen):
Um auf Nummer 7 zu erweitern, bedenken Sie, dass es bei Websites zu zahlreichen Wiederholungen von Aktionen kommen kann. Wenn beispielsweise jede Seite dasselbe Navigationsmenü enthält, müssen Sie diese Übergänge nicht immer wieder anzeigen und das Zustandsdiagramm nicht durcheinander bringen. Stellen Sie einfach gruppierte Aktionen mit Kurznotation / Symbol dar.
(Es ist viel einfacher, ein Zustandsdiagramm zu verstehen, wenn Sie die Person zeichnen, die Sie Schritt für Schritt zeichnen. Wenn Sie eine Person sind, die ein fertiges Zustandsdiagramm betrachtet, kann dies einschüchternd sein. Aus diesem Grund sind Zustandsdiagramme oft nur Papier - vorausgesetzt, Sie verwenden sie.
Für eine statische Website, die verwendet Nein AJAX-y-Features (d. H. Jedes Feature, bei dem sich die URL nicht ändert), ein Zustandsdiagramm ist relativ einfach zu erstellen, aber im Allgemeinen nicht erforderlich. Beispielsweise führt eine statische Website, bei der jede Seite mit jeder anderen Seite verbunden ist, zu einem Zustandsdiagramm, das manchmal als "vollständig verbundener" Graph bezeichnet wird. Solche Zustandsdiagramme sind in der Regel nicht sinnvoll, da keine spezielle Handhabung zu visualisieren ist. Jeder Staat ist mit jedem anderen Staat verbunden.
Wo Zustandsdiagramme am praktischsten sind, gilt für dynamische Websites - insbesondere für solche mit AJAX-y-Funktionen (wie Drop-Menüs, Schieberegler, Akkordeons, Galerien usw.). In letzterem Fall ändert sich die URL im Browser möglicherweise nicht, der Inhalt der Seite jedoch teilweise. Es ist schwieriger, alle möglichen Zustände und Übergänge (Aktionen) zu visualisieren, da eine "Seite" mehrere Unterzustände haben kann.
Ein Zustandsdiagramm (oder ein Satz immer detaillierterer Diagramme) ist in diesem Fall sehr nützlich - vor allem, wenn ein Team von Programmierern (und manchmal auch Designern) zur Verfügung steht.
In einem anstehenden Tutorial werde ich Ihnen zeigen, wie Sie jQuery für zwei Effekte codieren, die ich in meiner AboutMe-Vorlage verwende. Die Live-Seite enthält einige CSS-Fehler, die zuerst ausgebügelt werden müssen. Ich würde auch gerne weitere jQuery-basierte Funktionen hinzufügen, wenn genügend Zeit zur Verfügung steht. Diese zusätzlichen Funktionen werden in unserem Beispiel behandelt.
In Zukunft wird diese Vorlage zu einem kostenlosen WordPress-Theme, das sich an Freiberufler richtet, die ihre Arbeitserfahrungen präsentieren möchten. Im Moment möchte ich zeigen, wie Zustandsdiagramme Ihnen helfen können, die notwendigen Ursachen / Reaktionen (auch als Eingabe / Übergänge bezeichnet) für die "Current Gigs" -Galerie zu verstehen. Wenn Sie die notwendigen Übergänge verstehen, können Sie selbstsicherer codieren, und es ist alles sprachunabhängig. So können Sie nach der Erstellung des Zustandsdiagramms die Codebibliothek / -sprache festlegen.
Wenn Sie sich die Galerie "Current Gigs" in der Mitte links im Bild oben oder auf der Live-Seite anzeigen, sehen Sie, dass dies im Wesentlichen das gleiche Konzept wie eine Bildergalerie ist. Klicken Sie auf einen Link und Details zu diesem "Gig" werden angezeigt. Bei der Erstellung der Live-Seite gab es jedoch keine jQuery-Tutorials zum Einfügen von Text in den Mix für jeden "Frame" des Showcases. Ich musste mir meinen eigenen Code einfallen lassen.
Dazu musste ich zunächst alle möglichen Benutzerinteraktionen verstehen. Ein Zustandsdiagramm ist dafür ideal. Lassen Sie uns den Ante hochgehen. Was ich wirklich wollte, ist ein Showcase-Bereich, in dem sowohl Current Gigs als auch Past Gigs gezeigt werden. Es ist wie eine visuelle C.V. (Lebenslauf, auch "Lebenslauf" genannt), zeigt eine Galerie der Arbeitserfahrung. Der Rahmen jedes Gig enthält einen Bildschirmausschnitt der Homepage der zugehörigen Site sowie Text, der Details zu meiner Arbeit dort angibt.
Im Moment hat die Seite nur "Current Gigs", sollte aber auch "Past Gigs" haben. Hier ist eine Liste der funktionalen Anforderungen, was der Schaufensterbereich haben sollte:
Um dies zu wiederholen, besteht das Ziel darin, eine Registerkarte mit Registerkarten zu haben, in der die Registerkarten mit "Current Gigs" und "Past Gigs" gekennzeichnet sind. Dies ermöglicht später mehr Registerkarten, die nur durch die Breite der einzelnen Beschriftungen und die Breite des Vitrinenbereichs (590 Pixel) begrenzt sind. Aber ich möchte, dass die Registerkarten wie erwähnt "unsichtbar" sind. Anstelle der typischen Registerkarten in einer Registerkartenoberfläche möchte ich Mini-Banner verwenden. Wenn Sie sich die Live-Testseite ansehen, gibt es ein Mini-Banner mit der Aufschrift "Current Gigs" und ein weiteres mit der Bezeichnung "Past Gigs". Das werden die Registerkarten sein. Hier ist ein Nahaufnahmebildschirm mit den Standardeinstellungen, wie der endgültige Schaufensterbereich aussehen könnte.
Um das Zustandsdiagramm zu erstellen, müssen wir zunächst alle möglichen eindeutigen Zustände, Eingaben und Aktionen auflisten.
Hinweis: An dieser Stelle geht es uns nur um das, was in der C.V. passiert. Vitrine. Im Zustandsdiagramm interessieren uns keine Aktionen, die sich auf andere Teile der Webseite auswirken. Wir zeigen nur Aktionen / Reaktionen, die den C.V. betreffen. Vitrine.
Hier ist ein Beispiel für ein Zustandsdiagramm für die obige Funktionalität.
Ein paar Anmerkungen zu diesem Diagramm:
Wenn Sie sich auf Punkt 5 oben erstrecken, gilt als Faustregel, dass Sie bei mehrfachen wiederholten Übergängen aus einem verwandten Cluster von Zuständen die Übergänge mit einer Art Kurzform versehen können. Sie möchten einfach nur ein Gefühl für die wichtigen Übergänge bekommen, damit diese in Ihrem Kopf an erster Stelle stehen. Ein anderer Ansatz besteht darin, ein komplexes Diagramm zu erstellen und in Teile aufzuteilen: Hauptübersicht, dann "explodierte" Versionen von Übergangsclustern.
Beispielsweise könnte das obige Diagramm ein Hauptzustandsdiagramm enthalten, das die Knoten S, CG und PG enthält. Dann gäbe es zwei detaillierte Diagramme. Man hätte S, CG und die entsprechenden Unterzustände, die verschiedene Gigs repräsentieren. Das andere detaillierte Diagramm hätte S, PG und die entsprechenden Gig-Unterzustände.
Insgesamt sollten Sie jetzt ein klareres Bild von der Funktionsweise des Schaufensterabschnitts haben. Ich werde nicht näher darauf eingehen, wie ich von einem Zustandsdiagramm zum eigentlichen Code wechseln kann. Wenn Sie alle Benutzerinteraktionen verstanden haben, sollte dies offensichtlich werden. Zustandsdiagramme - und Ihr Verständnis davon sollte Ihnen helfen, zusammenhängenden Code zu schreiben, wodurch die Wahrscheinlichkeit einer fehlerhaften Anwendung verringert wird. Ihre Codiertechnik ändert sich nicht.