2010-02-24 9 views
7

Quale percentuale del tempo di programmazione spendi per il debug? Quali pensate siano percentuali accettabili per determinati supporti di programmazione?Quale percentuale del tempo di programmazione spendi per il debug?

+0

Questo dovrebbe essere un wiki? –

+2

Soggettivo. Non c'è una risposta giusta a questo. – Oded

+0

Quando un bug è un bug e quando è una funzionalità incompleta? – Benjol

risposta

3

Non molto ora che ho molti test unitari. A meno che non contiate il tempo speso per scrivere test e correggere i test non riusciti per eseguire il debug del tempo, cosa che in realtà non è. È relativamente raro ora dover passare attraverso il codice per capire perché un test sta fallendo.

Quanto tempo è necessario dedicare al debug dipende dal codice base. Se è troppo alto, è probabile che sia un sintomo di altri problemi, ad es. mancanza di adeguata gestione delle eccezioni, registrazione, test, ripetibilità ecc. Ciò che conta come "troppo alto" è soggettivo.

Se è necessario eseguire il debug di un errore, è consigliabile eseguire un test di errore prima di correggerlo, in modo che l'errore non si ripresenti.

La cosa peggiore su cui ho dovuto lavorare è stata una simulazione complessa e complessa scritta interamente senza test. A volte falliva nel bel mezzo di una corsa, e per riprodurre un incidente comportava l'impostazione di un breakpoint, l'avvio della corsa e l'attesa di mezz'ora o più. Quindi apporta una modifica e ripeti. Non ti immergere mai in quella situazione che distrugge il morale e distrugge la produttività.

1

C'è così tanta varietà quando si tratta di scrivere software che è impossibile dare una risposta solida. La complessità del software può aumentare il tempo di debug, ad esempio, se il codebase è molto grande e il codice stesso è scritto male, allora questo potrebbe aumentare la quantità di tempo speso per il debug.

Un modo per ridurre il tempo di debug è scrivere test di unità. L'ho fatto per un po 'e ho scoperto che aiuta a ridurre il numero di bug che vengono rilasciati al cliente.

9

Circa il 90% del mio tempo viene speso per il debugging o il refactoring/riscrittura del codice dei miei colleghi che non hanno mai lavorato, ma che comunque sono stati assegnati a GIT come "funzionanti".

Potrebbe essere spiegato dal morale negativo in questa (abbastanza grande) azienda a causa della cattiva gestione.

Gestione opinione sui miei suggerimenti: Test

  • Unità: proibito, prende troppo tempo.
  • Ambiente di sviluppo: nessun server di riserva e il lavoro sui dati live non è un problema, devi solo stare attento.
  • QA/Test: gli sviluppatori possono testare da soli, senza bisogno di un tester separato.
  • Programmazione orientata agli oggetti: troppo complessi, i nuovi programmatori non saranno in grado di comprendere il codice abbastanza velocemente.
  • Specifiche scritte: prendi troppo tempo, è più facile dire semplicemente ai programmatori di creare ciò di cui abbiamo bisogno direttamente.
  • Formazione per sviluppatori: troppo costoso e i programmatori non saranno in grado di lavorare durante l'allenamento.
+5

Hai già esaminato le carriere di stackoverflow? ;) – Yukiko

+7

Ouch. Come si suol dire, "Se non puoi cambiare la tua azienda, cambia la tua azienda" – Anthony

+1

Di cosa ti lamenti?Ti hanno lasciato usare git! Potrebbero averti costretto a usare VSS perché git è troppo complesso per i nuovi programmatori. (O peggio, potrebbero dire che il controllo del codice richiede troppo tempo) – Benjol

Problemi correlati