Kako poboljšati svoje vještine za uklanjanje pogrešaka

Svi mi napišemo kod koji se u nekom trenutku pokida. To je dio razvojnog procesa. Kad naiđete na pogrešku, možete osjećati da ne znate što učiniti. Međutim, čak i najiskusniji programeri uvode pogreške i greške koje razbijaju njihov kôd. Ipak smo ljudi.

Važno je učiti na tim pogreškama i izbjegavati njihovo ponavljanje razvijanjem tehnika za poboljšanje vaših vještina programiranja i uklanjanja pogrešaka. Pogreške su prvenstveno logičke ili sintaktičke. Neki se od njih manifestiraju izuzecima ili padovima, dok se drugi mogu primijetiti samo kada se koristi softver.

Evo nekoliko grešaka koje programeri čine

Neuspjeh prijave poruka

Jedan od najnekorisnijih scenarija na koji možete naletjeti je kada vam se program sruši i nema poruka o pogreškama koje bi naznačile što je pošlo po zlu. Prvi korak je utvrditi pada li program pri pokretanju ili tijekom izvođenja. To možete postići ispisom jednostavne poruke dnevnika na terminal na početku koda.

Ako ne vidite svoju poruku dnevnika, vaš se program najvjerojatnije ruši tijekom učitavanja i to je možda problem u vezi s ovisnošću ili gradnjom.

Ako vidite svoju poruku, morate se suziti na opću blizinu pada. Najbolji način je strateški smjestiti neke poruke dnevnika u program, ovisno o tome koliko informacija imate o putu izvršenja do trenutka kada se sruši. Zatim, sve što morate učiniti je vidjeti koje se poruke ispisuju.

Nepročitavanje poruka o pogreškama

Poruke o iznimkama na prednjem dijelu obično se prikazuju na korisničkom sučelju ili konzoli za programere. Ponekad su te poruke vidljive u pozadini putem terminala ili putem datoteka dnevnika. Bez obzira na to gdje se te pogreške javljaju, novi programeri ih se zastrašuju i ne uspijevaju odvojiti vrijeme da ih pročitaju.

Ovo je prvi razlog zašto mnogim programerima otklanjanje pogrešaka traje dulje. Prvo što biste trebali učiniti je odvojiti vrijeme da pročitate poruku pogreške ispred sebe, pustite je da utone i temeljito je obradite.

Nečitavanje datoteka dnevnika sustava

Neki programi generiraju datoteke dnevnika ili zapisuju u dnevnik događaja sustava. U tim zapisnicima često postoje korisne informacije. Čak i ako vam ne kaže točno što nije u redu, možda postoji poruka upozorenja ili pogreške ili čak poruka uspjeha koja daje savjet o tome što se dogodilo prije nego što se pogreška dogodila.

Neuspjelo pisanje dnevnika praćenja

Praćenje prati vaš tijek programa i podatke. Pisanje poruka u tragovima kroz vaš program olakšava postupak uklanjanja pogrešaka. Dnevnici praćenja jednostavan su način za praćenje izvršenja programa tijekom izvođenja vaše aplikacije.

Neuspjeh da napravi dodatne promjene, izgradi ih i testiraj

Mnogi programeri napišu velike dijelove koda prije izrade i testiranja. Vrijeme pronalaska bugova raste proporcionalno količini koda koji je promijenjen. Trebali biste težiti dodatnim promjenama, graditi ih i testirati što je češće moguće. To će osigurati da ne dođete u situaciju u kojoj je napisano puno koda prije nego što otkrijete da vaš program ne radi.

Često ću čak i refaktorizirati svoj kod kako bih pojednostavio ono što sam napisao.

Nije uspjelo pisanje automatizacije testa

Jedinstveni testovi i automatizacija ispitivanja s kraja na kraj omogućuju vam uhvatiti potencijalne pogreške dok se događaju. Jedan od razloga zašto se postojeći kôd lomi jest taj što programeri prepravljaju svoj kôd kada imaju nisku pokrivenost testom, što znači da se sve promjene ne testiraju automatski.

Neuspjeh u korištenju metode eliminacije

Ako ne možete prepoznati osnovni uzrok problema, morate upotrijebiti metodu uklanjanja. Možete komentirati nove blokove koda da biste vidjeli zaustavljaju li se pogreške. Uklanjanje blokova koda pomoći će vam da se približite dijagnozi problema.

Možete stvoriti određenu hipotezu i pokušati je dokazati ili opovrgnuti. Mnogo puta vas jednostavna pretpostavka može spriječiti u pronalaženju bugova.

Kopiranje i lijepljenje iz StackOverflowa

Često programeri kopiraju i lijepe kôd iz preljeva steka, a da ne razumiju što on radi. To ima toliko štetnih učinaka. Prvo, važno je da obratite pažnju na ono što ulazi u vašu prijavu.

Češće nego što bih želio, kada napišem pitanje na StackOverflowu i razmišljam o tome kako ga učinkovito artikulirati, na kraju odgovaram na svoje pitanje!

Slično tome, ponekad kad razgovaram s drugim članovima tima, na kraju odgovorim na svoje pitanje. To se događa jer vas prisiljava na razmišljanje o svom rješenju.

Ne uspijevajući ponovno riješiti njihov problem

Jedna od najuspješnijih tehnika uklanjanja pogrešaka koju sam pronašao je pokušati prolaziti kroz vaše rješenje iznova i iznova, a u nekim slučajevima pokušati ponovno implementirati određene funkcije ispočetka. To vas prisiljava da pronalazite potencijalne probleme ponovnim stvaranjem svoje provedbe.

Neuspješno vraćanje

Ako možete izolirati simptome na određeno područje, možete početi hodati nizom poziva kako biste provjerili sve varijable i očekivane vrijednosti. To vas može brzo dovesti do otkrivanja dijelova vašeg programa u kojima se stvari ponašaju neočekivano.

Neuspjelo učenje programa za uklanjanje pogrešaka

Konačno, jedina najbolja investicija koju možete učiniti u sebi je naučiti koristiti program za ispravljanje pogrešaka. Svi IDE dolaze s moćnim programima za otklanjanje pogrešaka. Slijede iste osnovne koncepte. Omogućuju vam programsko zaustavljanje izvršavanja vaše aplikacije, bilo na početku ili u određenom dijelu tijeka programa.

Postoji također mnoštvo alata za uklanjanje pogrešaka koji mogu pomoći u ovom procesu.

Ako je ovaj članak bio koristan, ??? i Slijedite me na Twitteru.

GitHub proširenja za povećanje produktivnosti

Evo GitHub proširenja koja koristim. Omogućit će vam poboljšanje produktivnosti na GitHubu. Molimo podijelite svoj ... medium.freecodecamp.org