Har du någonsin haft ett riktigt komplicerat programmeringsproblem? Ett problem där du förmodligen kan skriva ut logiken, men där du inte är helt säker på vilken syntax du ska använda? Att skriva pseudokod är ett bra ställe att börja.
Vad det är
Pseudokod är ett ”språk” där du kan skriva all din kodningslogik utan att skriva en enda rad språkspecifik kod. Du ser detta ofta inom algoritmforskning, särskilt algoritmer för maskininlärning. Det betyder inte att du inte kan använda det för webbutveckling.
Varför du skulle använda det
Det finns projekt som är så massiva att om du inte tar dig tid att skriva lite pseudokod kan du hamna vilse i ett hav av implementerad kod. När du skriver lite pseudokod ger det dig en chans att verkligen tänka igenom potentiella problem. Du kan titta på ren logik och programflöde utan att oroa dig för hur din kod körs.
Att skriva pseudokod innan du börjar skriva riktig kod hjälper dig också att avsluta dina projekt snabbare. Tänk på det som en blåkopia. Du vet var allting måste placeras och hur allting fungerar tillsammans. Så när du kommer till den faktiska byggfasen har du inte lika mycket att tänka på eftersom du redan har tänkt igenom vad du behöver göra.
Det bästa är att pseudokod inte är beroende av något programmeringsspråk. Den logik du just skrev ut kan tas av vem som helst och översättas till det språk de vill ha. Det ger dig friheten att återanvända och förbättra arkitekturen i den applikation du bygger.
En av de mer subtila användningsområdena för pseudokod är att dela den med andra människor. Ibland har du en specifik logikdel som kan användas i flera projekt, men de är alla i olika programmeringsspråk. När du har pseudokoden tillgänglig kan du ge den till andra programmerare och de kan skriva logiken i det språk de behöver.
En annan bra funktion är att du kan skriva pseudokod i vilket format du vill. Du kan använda det akademiska formatet. Det är otroligt strukturerat och detaljerat, men det tenderar att ha mycket matematik inblandat. Eller så kan du skriva ut en enkel översikt över vad du förväntar dig att din kod ska göra.
Så här skriver du det
Här är ett exempel på pseudokod som jag skrev i en av mina akademiska uppsatser:
Jag ska vara den första att erkänna att detta förmodligen är överflödigt för webbutveckling. Om du upptäcker att du använder LaTex för att skriva din pseudokod kanske du gör det mer komplicerat än nödvändigt. Oddsen är stora att det räcker med en snabb liten skrivning i Word eller till och med Notepad.
Här är ett exempel på en enkel pseudokod som jag skrev för ett av mina webbutvecklingsprojekt:
IF userlogin = true API call to get user data Assign data to variables Re-route user to dashboardELSEIF userlogin failed more than 3 times Don't allow more attempts Send user notification email Re-route user to home pageELSE Log bad login attempt Show error message Clear login form
Du behöver inte vara superteknisk med din pseudokod, men typiskt sett gäller att ju mer detaljer du kan packa in i den, desto lättare blir det att skriva den faktiska koden. Tänk på det som om du skriver en översikt för ditt program. Det ger dig en chans att verkligen tänka igenom vad du försöker åstadkomma och du kan se exakt hur all kod kommer samman.
De viktigaste sakerna du behöver fokusera på med pseudokod är:
- Det logiska flödet i ditt program
- Detaljerna i de komplexa delarna av ditt program
- Ett enhetligt format
Det krävs egentligen inte mycket för att skriva pseudokod förutom lite hardcore-tänkande. När du skriver den kommer du att börja se ställen där du kan lägga till fler detaljer eller ställen där du kan ta bort några detaljer. Kom ihåg att detta främst är till för ditt bruk så skriv det på ett sätt som är vettigt för dig.
Personligen älskar jag pseudokod. Den hjälper mig att hålla tankegången klar när jag börjar skriva den riktiga koden. När du har all din logik redan planerad får du så mycket mer tid att experimentera med prestanda och optimering. Dessutom behöver du inte tänka lika mycket när du är djupt inne i kodskrivandet (yay för planerad lathet).
Vad tycker du? Tycker du att pseudokod är värt tiden eller vill du hellre bara hoppa in i koden?
Hej! Du borde följa mig på Twitter eftersom skälen: https://twitter.com/FlippedCoding