Bug in Python? Pdb al Salvataggio!

Python Bug? Pdb to the rescue!

PROGRAMMAZIONE PYTHON

Vale la pena imparare ed utilizzare il debugger Pdb?

Il debugging ti aiuta ad imparare dai tuoi fallimenti. Foto di Brett Jordan su Unsplash

Sono disponibili vari strumenti per il debugging del codice Python, dal più semplice utilizzo della funzione print(), passando per il più avanzato ma statico icecream e il suo corrispettivo ycecream, fino ai vari debuggers interattivi offerti dagli IDE. La mia scelta, tuttavia, è sempre stata il debugger integrato pdb, insieme alla funzione integrata breakpoint().

Debugging

Il debugging è al cuore della programmazione. Si inizia a fare debugging quando si inizia a imparare la programmazione, e si smette di fare debugging quando si è promesso di aver scritto la propria ultima riga di codice – e se si mantiene questa promessa.

Potresti pensare che un modo per ridurre il tempo trascorso nel debugging del tuo codice sia scrivere del buon codice. Ammettiamolo: molto spesso, scrivere del buon codice significa… fare molto debugging durante lo sviluppo. Certamente, un buon programmatore scriverà un codice migliore e commetterà meno errori, ma questo non significa che non debba fare il debugging.

C’è, tuttavia, un modo per fare meno debugging: scrivere dei buoni test di unità.

Per fare meno debugging, scrivi dei buoni test di unità.

Indipendentemente dal fatto che tu stia utilizzando lo sviluppo guidato dai test o meno, scrivi dei buoni test. Scrivere dei buoni test significa scrivere un numero sufficiente di test ben scritti. Non intendo qui discutere di testing, quindi ti lascio con questo pensiero; ho scritto di più sul testing qui:

Fai in modo di divertirti a scrivere test di unità

La maggior parte degli sviluppatori non ama scrivere test. Se sei tra loro, fai del tuo meglio per cambiarlo.

VoAGI.com

Possiamo presumere che tutti i programmatori debbano fare il debugging del loro codice. Alcuni potrebbero dire di no, ma non è vero. Lo fanno; semplicemente non utilizzano strumenti di debugging dedicati, chiamati debuggers. Invece, eseguono il loro codice per un determinato input, lo controllano e, vedendo che qualcosa non va, modificano il codice e ripetono il processo. Quindi, nonostante non utilizzino i debuggers, fanno il debugging del loro codice; semplicemente devono impiegare più tempo per farlo. I debuggers sono stati creati per una ragione!