Domanda

Continuo a leggere di persone che sono "infette dal test", il che significa che non solo "prendono" il TDD ma non possono nemmeno vivere senza di esso.Hanno "fatto il restyling" per così dire.La domanda è: come faccio a diventare così?

È stato utile?

Soluzione

Parte del punto di essere "infetto da test" è che hai usato abbastanza TDD e hai visto abbastanza successi non vuoi programmare senza di esso.Una volta che hai prima completato un ciclo di test di scrittura, quindi di codifica e refactoring e hai visto il numero di bug diminuire e il tuo codice migliorare di conseguenza, non solo diventa una seconda natura come ha detto Zxaos, ma hai difficoltà ad andare avanti torniamo al codice prima.Questo è in fase di test infetto.

Altri suggerimenti

Hai già letto del TDD;leggere di più non ti entusiasmerà.

Invece, hai bisogno di una vera storia di successo personale.

Ecco come.Prendi del codice da un modulo principale, codice che non dipende da sistemi esterni o da troppe altre subroutine.Non importa quanto complessa o semplice sia la routine.

Quindi inizia a scrivere test unitari contro di esso.(Suppongo che tu abbia una xUnit o simile per la tua lingua.) Sii davvero odioso con i test: prova ogni caso limite, prova max-int e min-int, prova null, prova stringhe ed elenchi con milioni di elementi, testare stringhe con caratteri coreani e di controllo, arabo da destra a sinistra, virgolette, barre rovesciate, punti e altre cose che tendono a rompere le cose se non sfuggite.

Quello che troverai è....insetti!All'inizio potresti pensare che questi bug non siano importanti: non hai ancora riscontrato questi problemi, il tuo codice probabilmente non lo farebbe mai, ecc.eccetera..Ma la mia esperienza è che se continui ad andare avanti rimarrai stupito dal numero di piccoli problemi.Alla fine diventa difficile crederlo nessuno di questi bug lo faranno mai causare un problema.

Inoltre provi una grande sensazione di realizzazione quando qualcosa è fatto davvero, davvero bene.Sappiamo che il codice non è mai perfetto e raramente privo di bug, quindi è bello quando abbiamo esaurito così tanti test che ci sentiamo davvero sicuri.La fiducia è una bella sensazione.

Infine, penso che l’ultimo evento che scatenerà l’amore accadrà settimane o mesi dopo.Forse stai correggendo un bug o aggiungendo una funzionalità o eseguendo il refactoring di un codice e qualcosa che fai interromperà un test unitario."Eh?" Dirai, non capire perché il nuovo cambiamento fosse anche rilevante per il test rotto.Allora lo troverai e troverai l'illuminazione.Perché tu davvero non lo sapevo che stavi decifrando il codice e che i test ti hanno salvato.

Hallelujah!

Scopri di più su TDD per iniziare, quindi inizia a integrarlo nel tuo flusso di lavoro.Se usi abbastanza le metodologie, scoprirai che diventano una seconda natura e inizierai a inquadrare tutte le tue attività di sviluppo all'interno di quel quadro.

Inoltre, inizia a utilizzare il framework J-Unit (o X-Unit) per la lingua che preferisci.

Una parola: pratica!C'è un certo sovraccarico nell'esecuzione del TDD e il modo per superarlo è esercitarsi e assicurarsi di utilizzare strumenti per facilitare il processo.Devi imparare gli strumenti come il palmo della tua mano.Una volta appresi gli strumenti per seguire il processo che stai imparando, farà clic e diventerai fluente con la scrittura dei test per eliminare il codice.Allora sarai "infetto al test".

IO rispose una domanda simile a questa qualche tempo fa.Potresti voler dare un'occhiata anche a questo.Menziono alcuni strumenti e spiego l'apprendimento del TDD.Di questi strumenti, Resharper e la scelta di un buon framework di simulazione sono fondamentali per eseguire TDD.Non posso sottolineare l'apprendimento di questi strumenti per adattarsi al framework di test che stai utilizzando abbastanza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top