Rezoluție Bug – Să vorbim de Metodologie

Ascensor emoțional autentic pentru orice dezvoltator, făcându-l succesiv de negare la frustrare, incredulitate cu demisia, atunci speranța de a ușura, depanarea este o lecții complete depline care necesită specifice Atitudini și abilități. Prin această serie de articole, vom descoperi metode, tehnici și trucuri pentru transportare a plăcerii nedisguite. Această primă parte se va concentra pe descrierea tastaturilor cheie ale rezoluției efective a erorilor.

Reproduce eroarea

Pentru a începe, este imperativ să nu rulați capul în rezolvarea problemei. Nu Atingeți o linie de cod și să mergem să reproducem eroarea! Acest pas va face posibilă punerea în condiții de lucru ideale și vă va face, în cele din urmă, faceți seninătate și timp. Acest dezvoltator este prețios, trebuie mai întâi să asigure existența reală a perspectivei și certitudinii de a avea în sfârșitul corectat. Ce este mai frustrant decât să vă vedeți mai târziu aceeași suprafață de redo!

Rezoluția unui bug începe în general prin Analiza raportului realizat de persoana sau dependentul de rețeta funcțională a aplicației dvs. Asta este, cel mai frecvent … Leclin. Rar un profil tehnic, adesea lipsit de vocabularul asociat, vă veți schimba pentru ao furniza un proces (chiar și un șablon) al reasamblului de bug-uri. Veți evita simplul „nu funcționează”. Rețineți că acest document ar trebui să vă ofere informații esențiale pentru reproducerea problemei. Iată cele Zece Porunci:

  • Faptele, numai tu vei spune („Nu sunt identificat și am acceptat informații private”)
  • speculație, vei evita („Cred că vine dintr-o problemă de …”)
  • la specificațiile funcționale, veți face
  • mediul dvs. (os, browser, profil de utilizator), cu precizie va descrie
  • Pașii diferiți necesari pentru reproducerea problemei, veți lista
  • jurnalul de eroare, grail real, dacă este posibil, veți furniza
  • Că eroarea nu a fost deja raportată, veți verifica
  • ecranul dvs., pentru a descrie o problemă grafică pe care o veți capta
  • „intermitent” calificativ, cât mai mult posibil veți orienta : /
  • Constructive, vei sta (un dezvoltator este foarte, foarte susceptibil)

Odată analizat și înțeles, asigurați-vă că ați reprodus bug-ul cel mai aproape de dvs. . Nu veți avea acces la același confort de investigare la nivel local cu toate instrumentele dvs. de depredilare, într-un mediu de testare sau chiar mai rău în producție (OPS). Simplificați instalarea Vietien într-un scenariu de reproducere mai scurt. În mod ideal, veți scrie în acest moment testarea unității asociate, pentru a proteja împotriva viitoarei răniri viitoare și fluidificarea lucrării de diagnosticare.

Este, din păcate, un bug nu este greu reproductibil. Temptația de solicitare fără suită este apoi mai mare decât oricând! Rezista și îl găsește:

  • Raportul de eroare este umplut prost
  • Datele pe care le gestiona Nu vă permit să reproduceți eroarea
  • rezoluția O altă problemă a corectat bug-ul reasamblat
  • pe care încercați să reproduceți bug-ul într-un mediu prea diferit de cel pe care a fost întâlnit Buga
  • vă confruntați cu un heisenbug … noroc

HeisenbugSursa: http://simonb.com

face un diagnostic

O dată în condițiile optime, veți trece la faza de investigare. La fel ca o Columbo Enpower, va fi necesar să se facă presupuneri cu privire la originea problemei și să le verifice cu secțiunea Cod incriminată. Bugurile nu sunt încă de magie sau sub ordinele unui IA rău intenționat, veți continua cu modificarea:

Minimizați suprafața de căutare

  • verificați dacă o schimbare recentă a mediului nu este Cauza problemei (versiunea de dependență, modificarea schemei bazei de date etc.)
  • repetați scenariul dvs. de reproducere, revenind la istoria VC-urilor până la comiterea și, prin urmare, schimbările care au introdus lebug
  • mockez părțile aplicației dvs. care nu sunt implicate în ordine Limitați interferența
  • BlackBoxez Codul bibliotecii terțe
  • contactați colegii dvs .: ele sunt adesea sfaturi bune și inspiratoare

pus în loc riguros Metode de cercetare

  • Experimentele dvs. trebuie să aibă un scop în sine (îmbunătățiți înțelegerea programului, confirmați sau invalidați una din ipotezele dvs.); Există rar găsită sursa problemei din întâmplare
  • modifică doar un lucru simultan, condiție sine qua non-pentru a valida o ipoteză
  • păstrați o urmă a experimentelor dvs. așa cum nu Înapoi la ipoteze deja dezactivate
  • Gare la Certibes, istoria științei a suferit prea multe dintre barierele epistemologice Dragi Gaston Bachelard!

Aflați cum să utilizați instrumente la dvs. Dispoziție.

IDE, consola API, monitorizare, puncte de întrerupere, negruboxing, proxy de depanare, aici sunt instrumente mai mult sau mai puțin puternice pentru dispoziții pentru a elimina factorii devotanți. Vom dedica un articol complet la utilizarea lor ca parte a unei aplicații JavaScript în a doua parte a acestei serii.

Fix

Bravo, ați identificat sursa problemei! Acum este timpul să corectați secțiunea decodare care prezintă îngrijorare fără a introduce regresia și, în conformitate cu standardele de calitate în vigoare în echipa dvs. Aveți grijă să tratați cauza problemei și nu simptomele acesteia. În cazul în care alegerea de a implementa un videaprix se face colectiv, acesta va fi apoi identificabil și imperativ temporar. Dacă acest lucru se dovedește a fi relevant, refaceți codul. În cele din urmă, la fel de riguroasă și experimentată sunteți, asigurați-vă că ați citit!

Extindeți reflexia

Este acum timp pentru a desena concluziile pașilor anteriori. Cum face acest bug-ul între ochiul plasă? Poate o problemă similară să se întâmple în altă parte în ceea ce privește aplicația de intrare? Cum vă asigurați că nu îl vedeți reapariția? În cazul în care documentația va fi actualizată? Trebuie să profitați de această corecție pentru a îmbunătăți și a pune la îndoială calitatea codului dvs. de cod.

echipa SymbioZ.
Gratuit să fie împreună.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *