Js Unit Testing

Ho sempre saputo che scrivere i test per il proprio codice è una buona pratica, me lo insegnò django molti anni fa e me lo ribadì gipi in svariate occasioni. Ma come molte buone pratiche (per esempio quella di utilizzare un editor modale tipo vim) richiede tempo per iniziare, mettersi nell'ottica, e tempo di implementazione.

Probabilmente la cosa migliore da fare, sarebbe quella di inserire il testing a monte del processo di sviluppo (mai sentito parlare di Test Driven Development?), in questo modo si è "obbligati" a implementare i test dell'applicazione ed allo stesso tempo fa si che venga posta grande attenzione alle specifiche del codice ed alle condizioni in cui dovrà lavorare, permettendo di scrivere codice più agile e pulito.

Chiaramente non è semplicissimo cambiare radicalmente le proprie abitudini nello scrivere il codice, ed il poco tempo a disposizione che contraddistingue i progetti lavorativi al giorno d'oggi non aiuta di certo a trovare il "coraggio" di farlo.

Tornando al testing, perché è importante? Per molte ragioni, io ne sottolineo 2:

  1. la più ovvia: i test permettono di verificare in un attimo se successive modifiche al codice hanno rotto alcune funzionalità o creato malfunzionamenti all'interno dell'architettura del software. Chiramente più i test sono specifici, mirati e di "ampie vedute" e migliore è il controllo che possiamo avere
  2. nel momento in cui scriviamo un test, siamo obbligati a pensare in maniera molto precisa alle singole funzionalità dell'applicazione, vedendole chiaramente come distinte (pensiamo al concetto di incapsulamento). Ad esempio, spesso potremo notare che per testare una funzione dobbiamo isolarla meglio rispetto a quanto abbiamo fatto nella stesura del codice, e solitamente isolare meglio una funzione significa migliorare la qualità del proprio codice.

Allora eccomi qui a fare un po' di pubblicità ad una piccola libreria che ho scritto per creare test in javascript. Le idee sono state raccolte, riviste ed assemblate a partire dal regalino che il CDA mi ha generosamente concesso: "Secret of the JavaScript Ninja", di John Resig (creatore di jQuery) e Bear Bibeault. La libreria la trovate qui, insieme ad alcune note su come utilizzarla.

Categorie

internet opendata piemonte web jeff php programmazione tutorial curiosita governance vim cucina sviluppo apple hardware imac crisi economia politica torino didattica flash illustrazione ricorrenze lapalisse novita release informazione html5 javascript website musica mootools mercato societa vita lavoro HMI interfaccia utente gino gino-news gino-multimedia modernità usa burocrazia jquery django testing libri nova americana etica impresa solidarietà css comunicazioni trasloco ufficio vita sociale entropia immagini fotografia concorso polymer webcomponents programming crowdfunding progetti finanziamento fallimento opensource deploy otto python