Volt már valaha egy igazán összetett programozási problémája? Egy olyan probléma, ahol valószínűleg ki tudod írni a logikát, de nem vagy teljesen biztos abban, hogy milyen szintaxist kellene használnod? Az álkód írása remek kiindulópont.
Mi ez
Az álkód olyan “nyelv”, amelyen az összes kódolási logikát megírhatod anélkül, hogy egyetlen sor nyelvspecifikus kódot írnál. Ezt gyakran láthatod az algoritmuskutatásban, különösen a gépi tanulási algoritmusoknál. Ez nem jelenti azt, hogy nem használhatod webfejlesztésben.
Miért használnád
Vannak olyan hatalmas projektek, hogy ha nem szánsz időt arra, hogy írj egy kis pszeudokódot, elveszhetsz az implementált kód tengerében. Ha írsz egy kis pszeudokódot, az lehetőséget ad arra, hogy valóban átgondold a lehetséges problémákat. Képes vagy a tiszta logikát és a programfolyamatot megvizsgálni anélkül, hogy azon aggódnál, hogyan fut a kódod.
A pszeudokód megírása, mielőtt elkezdenél valódi kódot gépelni, segít abban is, hogy gyorsabban fejezd be a projektjeidet. Gondolj rá úgy, mint egy tervrajzra. Tudod, hogy mindennek hova kell kerülnie, és hogy minden hogyan működik együtt. Így amikor a tényleges építési fázishoz érsz, nem kell annyit gondolkodnod, mert már átgondoltad, hogy mit kell tenned.
A legjobb az egészben, hogy az álkód nem függ semmilyen programozási nyelvtől. Azt a logikát, amit most írtál ki, bárki átveheti és lefordíthatja az általa választott nyelvre. Ez megadja a szabadságot az újrafelhasználásra és az épülő alkalmazás architektúrájának javítására.
A pszeudokód egyik finomabb felhasználási módja az, hogy megoszthatod másokkal. Néha van egy bizonyos logikai rész, amelyet több projektben is használhat, de ezek mind különböző programozási nyelven vannak. Ha az álkód rendelkezésre áll, átadhatja más programozóknak, és ők bármilyen nyelven megírhatják ezt a logikát, amire szükségük van.
Egy másik nagyszerű funkció, hogy az álkódot bármilyen formátumban megírhatja. Használhatod az akadémiai formátumot. Ez hihetetlenül strukturált és részletes, de általában sok matematikát tartalmaz. Vagy írhatsz egy egyszerű vázlatot arról, hogy mit vársz el a kódodtól.
Hogyan írd meg
Itt egy példa pszeudokódra, amit az egyik tudományos dolgozatomban írtam:
Az első leszek, aki elismeri, hogy ez valószínűleg túlzás a webfejlesztéshez. Ha azon kapod magad, hogy LaTexet használsz az álkódod megírásához, akkor lehet, hogy a kelleténél bonyolultabbá teszed azt. Nagy az esélye annak, hogy egy gyors kis írás Wordben vagy akár Notepadben is elegendő lesz.
Íme egy példa néhány egyszerű pszeudokódra, amelyet az egyik webfejlesztési projektemhez írtam:
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
Nem kell, hogy szuper technikai legyen a pszeudokód, de általában minél több részletet tud beleírni, annál könnyebb megírni a tényleges kódot. Gondolj rá úgy, mintha egy vázlatot írnál a programodhoz. Lehetőséget ad arra, hogy valóban átgondold, mit akarsz elérni, és pontosan láthatod, hogyan áll össze az egész kód.
A fő dolgok, amelyekre a pszeudokóddal összpontosítanod kell:
- A programod logikai áramlása
- A program bonyolult részeinek részletei
- A következetes formátum
A pszeudokód megírásához némi kemény gondolkodáson kívül nem kell sok minden. Ahogy írod, látni fogod, hogy hol tudnál több részletet hozzáadni, vagy hol tudnál elvenni néhány részletet. Ne feledd, ez elsősorban a te használatodra van, úgyhogy úgy írd meg, hogy neked legyen értelme.
Személyesen szeretem az álkódot. Segít tisztán tartani a gondolatmenetemet, amikor elkezdem begépelni a valódi kódot. Ha az összes logikádat már megtervezted, sokkal több időd marad a teljesítmény és az optimalizálás kikísérletezésére. Ráadásul nem kell olyan keményen gondolkodnod, amikor már a kódírás mélyén vagy (hurrá a tervezett lustaságnak).
Mi a véleményed? Szerinted megéri a pszeudokód az időt, vagy inkább csak beleugranál a kódba?
Hé! Érdemes követned engem a Twitteren, mert okok miatt: https://twitter.com/FlippedCoding