Nybörjarguiden för att felsöka datorkod utan att rage-quit

Har du skrivit unik kod men felsökningsprocessen får dig att ångra dina val? Här är några råd för att bli av med irriterande kodningsbuggar.

Vad är felsökning? När din programvara inte körs som den ska, är felsökning processen att identifiera och åtgärda fel eller buggar i källkoden, vanligtvis i en kontrollerad miljö, steg för steg tills din programvara fungerar normalt.

Ursprunget till ordet felsökning är inte vad du kan förvänta dig. Det börjar med amiral Grace Hopper, en högt dekorerad datavetare, matematiker och amerikanska flottans amiral. 1947 vid Harvard University, när han arbetade på Mark II-datorn, hittade en kollega en död mal som fastnat i ett mekaniskt relä, vilket hindrade maskinen från att fungera.

Medan nattfjärilen, som för närvarande hålls på Smithsonian-museet, skalades bort, berättar historien att Dr Hopper skämtade om att ”felsöka” systemet, varvid ordet blev populariserat med tiden och så småningom blev en allmänt använd, accepterad programmeringsterm av tidigt 1960-tal.

En intressant sidanot, Thomas Edison talade enligt uppgift om buggar i de elektriska kretsarna så tidigt som på 1870-talet. Men, lång historia kort, felsökning är inte nödvändigtvis ett nytt fenomen. Som med all teknik har digitaliseringens era förändrat hur vi engagerar oss i kodning, så även om du är ny på felsökning eller har lite erfarenhet, är det alltid användbart att åter bekanta dig med grundprinciperna.

Identifiera felet

Kapaciteten för fel vid felsökning är betydande eftersom bokstavligen en felplacerad prick har potentialen att göra timmars arbete värdelösa tills misstaget hittas och elimineras. När du väl blir medveten om ett problem är det första du bör göra att försöka identifiera vilken typ av misstag du har gjort.

Ett syntaxfel är när arrangemanget av tecken, ord eller symboler trotsar reglerna som definieras av programmeringen språk, vilket förhindrar att koden körs korrekt. Detta fel, trots förödelse det orsakar, kan vara så enkelt som att felaktigt ha lagt till ett semikolon.

Det enklaste sättet att lösa ett syntaxfel är att granska vad du har skrivit, ta bort den stötande koden och skriva om den, men om du har ont om tid och andra resurser bör du använda en online-syntaxkodkontroll eller ett felsökningsverktyg.

Ett av de mer upprörande felen uppstår vanligtvis i slutet av kodningsprocessen, när du är timmar in i ditt arbete verkar ditt program vara igång och plötsligt kraschar eller ger fel utdata.

Istället för att spendera timmar på att kamma igenom kodrader och leta efter ett misstag, finns det ett antal saker du bör prova först. Nämligen OG-fixen där du stänger av och sätter på din maskin igen. Finns det något som inte fungerar för?

Du kan också prova att stänga alla andra program som körs, eftersom det ofta uppstår ett körtidsfel när det är i konflikt med ett annat program, eller så använder det andra programmet för mycket av systemets resurser. Att köra programmet i säkert läge säkerställer också att det fungerar med ett minimum, vilket gör att din enhet kan fungera effektivt.

Att uppdatera programmet eller installera om programmet kan också fungera, se bara till att du sparar viktiga filer innan du tar bort något.

Slutligen, till skillnad från syntax- och körtidsfel, kommer logiska fel ofta inte att ge ett felmeddelande som varnar dig för ett misstag, vilket gör dem något svårare att felsöka. Dessa är fel i logik eller algoritm som inte hindrar programmet från att köras, utan istället gör att det fungerar felaktigt.

Det bästa sättet att lösa ett logiskt fel är att identifiera det område av din kod som är problematiskt genom att bryta ner den och testa delar individuellt, för att säkerställa att logiken matchar dina förväntningar.

Välj din teknik

Det finns inget korrekt sätt att felsöka, så när du arbetar med ett projekt som kräver ytterligare arbete för att få systemet att fungera som det ska, se till att undersöka alla dina felsökningsalternativ.

En sådan teknik är binär sökning, vilket är där du arbetar genom att dela upp problemet i hanterbara steg. Med binär sökning kan du dela koden i halvor och systematiskt utrota platsen för felet.

En annan användbar teknik är buggklustring, där kodare kan gruppera buggar med en liknande klassificering tillsammans. Genom att undersöka en bugg från varje grupp och lösa problemet är det troligt att du automatiskt kommer att lösa liknande problem relaterade till de andra buggarna i den gruppen.

Slutligen, en grundläggande vana som alla kodare bör öva på är att ta informativa, kortfattade anteckningar, dokumentera din process och dina lösningar. Detta kommer inte bara att vara användbart för dig framöver utan det kan också utgöra en avgörande vägledning för nya och befintliga teammedlemmar när de stöter på felsökningsutmaningar.

Använd varje resurs

Att koda och åtgärda fel kan vara tidskrävande och ofta frustrerande när det finns oändliga problem. Av den anledningen bör du ta pauser efter behov eftersom frisk luft och ett klart sinne kan ge dig den inspiration du behöver för att klura ut pusslet.

Dessutom kan kodningsgemenskaper vara ett roligt sätt att nätverka, brainstorma problem och erbjuda dina egna lösningar på utbredda kodningsproblem med likasinnade från hela världen. Alla som siktar på att vara en begåvad, medveten kodare bör definitivt överväga att gå med i en kodningsgemenskap, eftersom det är en utmärkt resurs för att utveckla dina färdigheter och förbli skarp.

Dessutom, för de växande felsökarna erbjuder Coursera dussintals gratis och betalda onlinekurser över hela felsökningsspektrumet för kodare med alla förmågor, på en rad olika språk.

I grund och botten är det bästa rådet jag kan ge är att använda alla resurser som står till ditt förfogande och vara dagens amiral Grace Hopper, extraordinär debugger.

Ta reda på hur nya tekniska trender förändras i morgon med vår nya podcast, Future Human: The Series. Lyssna nu Spotify Äpple eller var du än får dina poddar.