Et verktøy som skal være i ditt webkodingsarsenal er statutediagrammet. Et tilstandsdiagram viser de forskjellige "tilstandene" (reaksjonene) som søknaden din (f.eks. Nettsted) kan være i, samt hvilken handling eller inngang (fra brukeren) er nødvendig for å komme til en bestemt tilstand. Et statsdiagram bidrar til å gjøre konkrete i tankene dine alle mulige bruker / applikasjonsinteraksjoner. Dette øker sjansene for at du i det minste vil vurdere koding for alle muligheter, bare fordi du nå kjenner dem alle - noe som reduserer sjansene for at du har buggy kode eller verre, glemte å håndtere spesifikke funksjoner.
Et tilstandsdiagram består av to komponenter: sirkler for å representere tilstander (applikasjonsreaksjoner / utgang) og piler for å representere overganger (brukerhandlinger / inngang). Statiske diagrammer er veldig nyttige for komplekse og ikke så komplekse dataprogrammer av noe slag. Men når det gjelder utvikling av nettsider, er statlige diagrammer ikke alltid i bruk:
På den annen side, hvis du bygger et nettsted der du må håndtere spesielle overganger, kan et statediagram være til stor nytte:
Det overraskende er at statlige diagrammer ikke er alt som er komplisert å produsere. Likevel, etter min erfaring, blir de ikke brukt så ofte av de fleste programmører, til tross for fordelene (dypere forståelse av brukerinteraksjoner, kohesjon av kodingsarbeid). Jeg sverger ved dem - eller gjorde da jeg kodet hver dag i ulike jobber.
Det anbefales at du produserer tilstandsdiagrammer på papir først, og overfør dem til en digital kopi hvis og bare hvis det er nødvendig. (Det er noe om taktiliteten til skisseing / visning av relasjoner på papir som gjør dem mer konkrete i tankene dine, noe som gjør det lettere å imøtekomme alle mulige interaksjoner og dermed redusere feil i dine applikasjoner.)
Et tilstandsdiagram består av:
Du kan se et enkelt eksempel direkte nedenfor - som vil bli utvidet senere i denne artikkelen:
Her er trinnene for å opprette statlige diagrammer (med luting mot nettsidebaserte applikasjoner):
For å utvide på # 7 ovenfor, husk at med nettsteder, kan det være mye gjentakelse av handlinger. For eksempel hvis hver side inneholder samme navigasjonsmeny, er det ikke nødvendig å vise disse overgangene om og om igjen og rote opp statediagrammet. Bare representer klyngede handlinger med litt kortformat / symbol.
(Det er langt lettere å forstå et tilstandsdiagram hvis du er personen som tegner den, ett trinn om gangen. Hvis du er en person som ser på et ferdigstillet tilstandsdiagram, kan det være skremmende. Derfor bor statlige diagrammer ofte bare papir - forutsatt at du bruker dem.
For et statisk nettsted som bruker Nei AJAX-y-funksjoner (dvs. en hvilken som helst funksjon der nettadressen ikke endres), er et tilstandsdiagram ganske enkelt å produsere, men generelt unødvendig. For eksempel, et statisk nettsted der hver side er koblet til hver annen side, resulterer i et tilstandsdiagram som noen ganger refereres til som en "fullstendig tilkoblet" graf. Slike statlige diagrammer er vanligvis meningsløse fordi det ikke er noen spesiell håndtering for å visualisere. Hver stat er knyttet til hver annen stat)
Hvor statlige diagrammer er mest nyttige er for dynamiske steder - spesielt de med AJAX-y-funksjoner (for eksempel drop-menyer, skyveknapper, trekkspill, gallerier, etc.). I sistnevnte tilfelle kan nettadressen i nettleseren ikke endres, men sidens innhold gjør det så delvis. Det er vanskeligere å visualisere alle mulige stater og overganger (handlinger) fordi en "side" kan ha flere delstater.
Et tilstandsdiagram (eller et sett med stadig mer detaljerte diagrammer) kommer veldig praktisk i dette tilfellet - spesielt hvis det er et team av kodere (og noen ganger designere) å jobbe med.
I en kommende opplæring skal jeg vise deg hvordan du kan kode jQuery for to effekter jeg bruker i min OmMe-mal. Levende siden har noen CSS-glitcher som må strykes ut først. Jeg vil også legge til flere jQuery-baserte funksjoner hvis det er nok tid. Disse tilleggsfunksjonene vil bli gjenstand for vårt eksempel.
I fremtiden vil denne malen bli et gratis WordPress-tema rettet mot frilansere som ønsker å vise frem sitt arbeid (gigs) -opplevelse. For nå vil jeg vise hvordan statlige diagrammer kan hjelpe deg å forstå de nødvendige årsakene / reaksjonene (aka inngang / overganger) for "Current Gigs" -galleriet sett ovenfor. Å forstå de nødvendige overgangene hjelper deg å kode mer trygt, og det er alle kodende språkavhengige. Så du kan bestemme kodebiblioteket / språket etter å ha opprettet tilstandsdiagrammet.
Hvis du ser på "Current Gigs" -galleriet midt på venstre side av bildet ovenfor, eller på live-siden, vil du se at dette i hovedsak er det samme konseptet som et bildegalleri. Klikk på en kobling og detaljer om at "gig" vises. Men da jeg bygget live siden, var det ingen jQuery opplæringsprogrammer om hvordan å kaste tekst inn i blandingen, for hver "ramme" av utstillingsvinduet. Jeg måtte komme opp med min egen kode.
For å gjøre det måtte jeg først forstå alle mulige brukerinteraksjoner. Et tilstandsdiagram er ideelt for dette. La oss oppe ante, skjønt. Det jeg egentlig ønsket, er et showcase-område som viser både nåværende konserter og fortidsposter. Det er liksom en visuell C.V. (Curriculum Vitae, aka "CV"), viser et galleri av arbeidserfaring. Hver konsertramme inneholder et skjermbilde på tilhørende nettstedets hjemmeside, sammen med noen tekst som gir detaljer om arbeidet jeg gjorde / gjør der.
For nå har siden bare "Gjeldende Gigs", men også "Past Gigs". Her er en liste over funksjonelle krav til hva utstillingsområdet skal ha:
Så for å gjenta, er målet å ha et flippert grensesnitt hvor kategoriene er merket "Gjeldende Gigs" og "Past Gigs". Dette gjør det mulig for flere faner senere, bare begrenset av bredden på hver etikett og bredden på utstillingsområdet (590 piksler). Men jeg vil at kategoriene skal være "usynlige", som nevnt. I stedet for de typiske kategoriene i et fanebladgrensesnitt, vil jeg bruke mini-bannere. Hvis du ser på live test siden, er det en mini-banner merket "Gjeldende Gigs", og en annen merket "Past Gigs". De vil være fanene. Her er et nærbilde skjermbilde av hva det siste utstillingsområdet kan se ut, med standardinnstillinger.
For å opprette statsdiagrammet må vi først oppregne alle mulige unike tilstander, inngang og handling:
Merk: På dette tidspunktet er vi bare opptatt av hva som skjer i C.V. vise frem. I statsdiagrammet bryr vi oss ikke om handlinger som påvirker andre deler av nettsiden. Vi viser bare handlinger / reaksjoner som påvirker C.V. vise frem.
Her er et eksempelstatistikkdiagram for funksjonen ovenfor.
Et par notater om dette diagrammet:
Ved å utvide på punkt # 5 ovenfor, er tommelfingerregelen at hvis det er flere repeterende overganger fra en relatert tilstandstilstand, kan du annotere overgangene med en slags kort form. Du vil bare få en følelse av de viktige overgangene slik at de er mest i tankene dine. En annen tilnærming er å ta et komplekst diagram og dele i deler: hovedoversikt, deretter "eksploderte" versjoner av overgangsklynger.
For eksempel kan diagrammet ovenfor ha hatt et hovedstandarddiagram som inneholder nodene S, CG og PG. Så ville det være to detaljerte diagrammer. Man ville ha S, CG, og de tilsvarende delstatene som representerer ulike konserter. Det andre detaljerte diagrammet vil ha S, PG, og de tilsvarende gig-delstaten.
Samlet sett burde du nå ha et tydeligere mentalt bilde av hvordan showcase-delen fungerer. Jeg kommer ikke til å komme inn på hvordan man skal flytte fra et statutediagram til faktisk kode. Det burde bli tydelig når du forstår alle brukerinteraksjonene. Statiske diagrammer - og forståelsen av dem skal hjelpe deg med å skrive mer sammenhengende kode, og redusere sjansene for et buggy-program. Din kodingsteknikk endres ikke.