Riconoscere bug o incapacità di risolvere un problema da soli

0

Come riconoscere quando c'è un bug nel programma o si ha l'incapacità di risolvere un problema concreto? Ho notato che quando mi concentro troppo tempo su un problema e non riesco a trovare una soluzione, sto iniziando a essere così soggettivo e non riesco a riconoscere uno di questi due stati. Quanto lontano andare con una ricerca di soluzioni, e non uccidere la tua volontà, ma solo dire "Questo è tutto, ho fatto tutto il possibile, questo è un bug, non posso fare nulla di più su di esso, ma basta segnalarlo."

Sto cercando i tuoi consigli per imparare ad affrontare questo problema, o una ricetta per questo è meno dolorosa ed estenuante per i programmatori? Come sapere quando fermarsi e cosa è sufficiente?

    
posta 21.03.2016 - 10:25
fonte

2 risposte

2

Consiglio vivamente di lavorare con altri programmatori se stai colpendo un roadblock. Spesso la conversazione va in questo modo:

[you] I'm stuck on this bug, I can't seem to figure out what's happening

[other] What's the issue?

[you] yada yada yada

[other] what have you tried and what have you figured out so far?

[you] blah blah blah, this that and the other...

[you] oh...

[you] thanks!

[other] any time

Se non è così, spesso una persona più anziana può aiutarti a restringere il tuo approccio oa volte menzionare alcuni fatti poco conosciuti o non intuitivi sul contesto pertinente.

Un altro pezzo cruciale è quello di dividere e conquistare. Hai bisogno di eliminare le possibilità o finirai per andare in circolo. Questo va di pari passo con il test delle tue ipotesi. Quando ti trovi in una situazione in cui non riesci a capire perché qualcosa stia accadendo, è probabile che qualcosa in cui credi sia vero non è vero. Inizia a testare tutte le cose che ritieni siano ovviamente vere.

Fai attenzione ai debugger. Possono essere utili per gli sviluppatori alle prime armi ma possono finire per consumare molto del tuo tempo. Inoltre, sono per lo più inutili per problemi di temporizzazione come problemi di multi-threading. Una volta ho avuto un collega (molto intelligente) che era completamente in disaccordo con me e ha insistito sull'uso dei debugger. Una volta ha avuto un problema che non riusciva a capire. Gli ho chiesto di eseguirlo senza il debugger. Lo ha fatto e il problema è scomparso.

    
risposta data 21.03.2016 - 14:33
fonte
1

La maggior parte dei bug che puoi risolvere tramite ispezione, ma si basa sulla tua esperienza e competenza.

MA! se hai un bug o un codice complesso, non hai bisogno di farlo in modo 'veloce'. È sufficiente aggiungere sempre più test, istruzioni di debug, registrazione ecc. Fino a quando non si scopre esattamente quale riga di codice o quale situazione è causata dal bug. Se le tue esigenze sono sufficientemente dettagliate, un computer potrebbe trovare i bug.

La maggior parte delle volte in cui vedo qualcuno bloccato da un problema, ha saltato i passaggi di base e ha fatto delle supposizioni.

    
risposta data 21.03.2016 - 15:31
fonte

Leggi altre domande sui tag