Rails Otklanjanje Gresaka

Rails Otklanjanje Gresaka

Čak i najbolji programeri Rails-a na svetu moraju s vremena na vreme ispraviti svoj kod. Za razliku od drugih okvira, Rails olakšava otklanjanje grešaka u vašem kodu, tako da možete ograničiti vreme zastoja i pokrenuti svoje aplikacije.Otklanjanje grešaka nikada nije bilo lakše!

Byebug

Započnimo našu sesiju otklanjanja grešaka instaliranjem byebug gem-a . Ovaj gem vam omogućava da privremeno zaustavite izvršavanje koda na tački prekida koja je označena ključnom reči byebug unutar koda. Kada izvršenje dostigne tačku prekida, marker će usmeriti na trenutnu liniju i moći ćete da ukucate komande.

Pomoću byebuga možete videti vrednosti unutar promenljivih definisanih pre tačke prekida, jednostavnim upisivanjem njihovog imena. Ista logika se odnosi na sve metode dostupne u datom bloku koda.
alt
Ovaj dragulj nudi ogroman skup naredbi , celu listu možete pronaći ovde . Pomenućemo samo najkorisnije:

  • next naredba vam omogućava da pređete na sledeći red, preskačući sve metode pozvane izvršavanjem trenutne linije (osim ako unutar bilo koje od njih postoji druga tačka prekida),
  • step naredba je prilično slična nextnaredbi, s tom razlikom što stepće ući u svaku pozvanu metodu (korak po korak),
  • break naredba zaustavlja izvršavanje koda,
  • continue naredba nastavlja izvršenje koda.

Svi dragulji za otklanjanje grešaka pružaju slične funkcionalnosti, ali koriste malo drugačiju sintaksu i semantiku. Još jedan popularni dragulj za otklanjanje grešaka u Rails-u je pri . Ako ste programer početnik, obavezno i to pogledajte!

Otklanjanje grešaka u proizvodnji

Gemovi za otklanjanje grešaka ne bi trebalo da se koriste u proizvodnji - oni bi trebalo da se koriste samo u režimu razvoja. Instalirate ga kao razvojnu zavisnost . Pa, kako ispraviti greške u proizvodnji?

Rollbar

Jedan od načina da to uradite je primenom rollbara . Rollbar obezbeđuje softver za praćenje greška, i može se integrisati u ruby, samo treba da ga instalirate . Cela svrha trake je da vam pruži korisne evidencije grešaka koje su se dogodile u proizvodnji.
alt
Postoji više razloga zbog kojih biste želeli ovo u svojoj prijavi:

  • On izveštava * sve Unhandled grešake i izuzetake.
  • Omogućava ručnu evidenciju .
  • Ona čuva gomilu korisnih informacija, kao što su HTTP zahtev, korisnici, kod koji uzrokuje grešku i još mnogo toga.
  • Šalje obaveštenja e-poštom svaki put kada se na vašem proizvodnom serveru desi neki neobrađeni izuzetak , kao i sa scrum softverom, tako da će se svaki novi unos automatski transformisati u grešku , izdanje ili bilo koju drugu notaciju koju podržava scrum softver.

Ručno

Ako ne koristite traku za okretanje, alternativa je ručno pregledavanje evidencija grešaka kada se pojave greške. Ovaj pristup je malo sporiji jer nema obaveštenja da je nešto pošlo po zlu i može biti teže reprodukovati grešku na vašem lokalnom računaru samo gledanjem datoteka evidencije.

Čak i ako se u vašem kodu ne pojavljuju dosadne greške, nije vreme za odmor! Da biste bili sigurni da sve i dalje radi kako treba, napišite test koristeći RSpec i / ili Capybara !

Saveti i Trikovi

  • Ne bi trebalo da popravljate proizvodne greške direktno na mestu proizvodnje, prvo bi trebalo da ih reprodukujete i popravite na lokalnoj mašini pre nego što gurnete u proizvodnju.
  • Vi možete popraviti proizvodne greške u proizvodnom pogonu samo ako je greška uzrokovana nekim konfiguracijama servera, specifičnim podacima ili dubljim kodovima grešaka iz baze podataka.
  • Napravite rezervnu kopiju svake proizvodne verzije pre nego što pushujete novu, tako da se u slučaju nužde možete jednostavno vratiti na prethodnu verziju.
  • Koristite inscenacione (test) servere za proveru i testiranje koda u proizvodnom okruženju.

Nadam se da će vam ovaj članak pomoći u budućem lovu na bube!

Lov na bagove ili lov na nove članke, sve može biti avantura kada se pretplatite!