Puntelli per te per avere l'attitudine che imparerai qualcosa da questa esperienza. Sono sicuro che lo farai.
La prima cosa che dovresti imparare è che la necessità di test delle unità non ha nulla a che fare con quanto sei esperto . Il miglior sviluppatore sarà anche uno dei migliori tester per unità:
Bill Venners: You say in your book Refactoring: "If you want to refactor, the essential precondition is having solid tests." Does that mean if you don't have tests you shouldn't refactor?
Martin Fowler: You should think of it as walking a tightrope without a net. If you are good at walking a tightrope, and it's not that high up, then you might try it. But if you've never walked a tightrope before, and it's over Niagara Falls, you probably want a good net.
Da link
Scrivevo PHP senza test di unità. Poi, dopo anni di pratica dei test unitari in Java, ho scoperto che non potevo lavorare su qualcosa di molto più complicato delle singole pagine in PHP senza test delle unità. La ragione? Produttività . Senza test di unità, non potevo refactoring con fiducia - questo significava che A) avrei dovuto strappare molto di più e lavorare su tutto dall'inizio ancora, o B) , Dovrei avere a che fare con un brutto codice legacy.
Quando fai un'offerta, devi calcolare il tempo necessario? Sì . Sembra intuitivo che impiegherà più tempo? Sì, di nuovo . Probabilmente, come alcune altre risposte hanno stimato approssimativamente, è necessario stimare 50-100% più grande di senza test unitari.
Tuttavia! ...
- Catturerai e indirizzerai i fori delle specifiche in precedenza
- Il che significa che svilupperai una specifica più pulita e solida
- Sarai in grado di rispondere rapidamente e con sicurezza alle modifiche alle specifiche
- Avrai meno bug
- I tuoi bug verranno catturati prima e più facilmente da correggere
Come risultato, le tue stime saranno più accurate . Se addebiti ogni ora, stupirai di più i tuoi clienti e sarai in grado di aumentare le tue tariffe. Se addebiti un importo forfettario, guadagnerai più denaro all'ora.
Senza test, le tue stime sono molto probabilmente un crapshoot. Bug, ordini di cambiamento e ridefinizioni sono tutti terribili per una stima accurata. Il test è la chiave per ridurre al minimo l'impatto di tutti e tre!