Risoluzione dei bug – Parliamo di metodologia

Ascensore emotivo genuino per qualsiasi sviluppatore, rendendolo successivamente dalla negazione alla frustrazione, all’incredulità con rassegnazione, quindi sperare di sollievo, il debug è completo è specifico delle lezioni Atteggiamento e abilità. Attraverso questa serie di articoli, scopriremo metodi, tecniche e trucchi per la trasformazione del piacere indiscutibile. Questa prima parte si concentrerà sulla descrizione del keystakes chiave della risoluzione effettiva del bug.

riproduce l’errore

Per iniziare, è imperativo non correre verso il basso nella risoluzione del problema. Non farlo Tocca una riga di codice e corriamo per riprodurre l’errore! Questo passaggio consentirà di mettere in condizioni di lavoro ideali e ti renderà, alla fine, fare serenità e tempo. Questo sviluppatore è prezioso, devi prima di garantire la vera esistenza della prospettiva e della certezza di avere il nel fine corretto. Ciò che è più frustrante che vedersi più tardi la stessa superficie del bug Redo Superficie!

La risoluzione di un bug inizia generalmente da un bug L’analisi del rapporto effettuata dalla persona o dal dipendente dalla ricetta funzionale della tua applicazione. Cioè, più frequentemente … Leficient. Raramente un profilo tecnico, spesso privo del vocabolario associato, cambierai per fornirlo con un processo (anche un modello) del rimontaggio del bug più diretto. Eviti il semplice “non funziona”. Tieni presente che questo documento dovrebbe fornirti informazioni essenziali per la riproduzione del problema. Ecco i dieci comandamenti:

  • i fatti, solo tu lo stato (“Non sono identificato, e ho accettato tali informazioni private”)
  • speculazione, eviterai (“Penso che provenga da un problema di …”)
  • alle specifiche funzionali, eseguirai
  • il tuo ambiente (osso, browser, profilo utente), con precisione te descriverà
  • le diverse fasi necessarie per la riproduzione del problema, elencherai
  • il registro dell’errore, Real Graal, se possibile, fornirai
  • Che l’errore non è già stato riportato, controllerai
  • lo schermo, per descrivere un problema grafico che catturerai
  • il qualificatore “intermittente”, il più possibile è possibile bandire : /
  • Costruttivo, rimarrai (uno sviluppatore è molto, molto suscettibile)

una volta analizzato e compreso, assicurati di riprodurre il bug al più vicino . Non avrai accesso allo stesso comodità di indagare localmente con tutti i tuoi strumenti di depredilizzazione, all’interno di un ambiente di test, o anche peggiore in produzione (OPS). Semplificare Vieien impostazione in uno scenario di riproduzione più breve possibile. Idealmente, scriverai in questo momento il test dell’unità associata, al fine di proteggere contro il futuro futura refitting e fluidificando il lavoro diagnostico.

Purtroppo è un bug che difficilmente è riproducibile. La tentazione del richiedente senza suite è più grande che mai! Resistere e trovarlo:

  • Il rapporto del bug è gravemente riempito
  • I dati che si maneggiano non consentono di riprodurre l’errore
  • la risoluzione di Un altro problema ha corretto corretto il bug del riassemble
  • stai cercando di riprodurre il bug su un ambiente troppo diverso da quello su cui è stato riscontrato il buga
  • ti trovi di fronte a un Heisenbug … buona fortuna

heisenbugFonte: http://simonb.com

Fai una diagnosi

Una volta nelle condizioni ottimali, passerai alla fase di inchiesta. Come un’energia columbo, sarà necessario fare ipotesi sull’origine del problema e verificarle con la sezione di codice incriminata. Gli insetti non ancora per magia o sotto gli ordini di un malizioso IA, procederai con communerazione:

Riduci al minimo la superficie di ricerca

  • Verifica che un recente cambiamento ambientale non sia La causa del problema (versione di una dipendenza, modifica dello schema del database, ecc.)
  • Ripeti il tuo scenario riproduttivo tornando alla cronologia dei VCS fino all’impegno e quindi le modifiche introdotte Lebug
  • Mockez le parti della tua applicazione non coinvolta per Limitare l’interferenza
  • blackboxez il codice della biblioteca di terze parti
  • Contatta i tuoi colleghi: sono spesso buoni consigli e ispirando

metti in posizione rigorosa Metodi di ricerca

  • I tuoi esperimenti devono avere una fine in sé (migliorare la comprensione del programma, confermare o invalidare una delle tue ipotesi); Viene raramente trovato la fonte del problema per caso
  • Modifica solo una cosa contemporaneamente, condizione Sine qua di non convalidare un’ipotesi
  • mantieni una traccia dei tuoi esperimenti così come no Torna alle ipotesi Già disabilitato
  • Gare a Certibes, la storia della scienza ha subito troppa parte delle barriere epistemologiche Gentile Gaston Bachelard!

Scopri come usare gli strumenti per usare gli strumenti al tuo Disposizione.

IDE, console API, monitoraggio, punti di interruzione, BlackBoxing, debug dei debug, qui sono strumenti più o meno potenti per le disposizioni per lavare fuori i problemi dei problemi. Dedicheremo un articolo completo al loro uso come parte di un’applicazione JavaScript nella seconda parte di questa serie.

FIX

BRAVO, hai identificato la fonte del problema! È giunto il momento di correggere la sezione decodifica che pone preoccupazione senza introdurre la regressione e in conformità con gli standard di qualità in vigore all’interno del team. Fai attenzione a trattare la causa del problema e non dei suoi sintomi. Nel caso in cui la scelta di implementare un QuickFix sia eseguita collettivamente, sarà quindi identificabile e impererantemente temporaneo. Se questo si rivela pertinente, refatturalizza il tuo codice. Infine, come rigoroso ed esperto, assicurati di leggere!

Espandi il riflesso

Ora è il momento di disegnare le conclusioni dei passaggi precedenti. Come fa questo bug bug tra la rete della rete? Un problema simile può accadere altrove in VotaPlication? Come ti assicuri di non vederlo riapparire? La documentazione dovrebbe essere aggiornata? È necessario sfruttare questa correzione per migliorare e mettere in discussione la qualità della tua basebase.

il team di Symbioz.
libero di stare insieme.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *