Io e il mio amico siamo relativamente nuovi TDD e abbiamo una controversia sulla tecnica di "Implementazione ovvia" (da "TDD By Example" di Kent Beck). Il mio amico dice che significa che se l'implementazione è ovvia, devi andare avanti e scriverlo - prima qualsiasi test per quel nuovo comportamento. E infatti il libro dice:
How do you implement simple operations? Just implement them.
Inoltre:
Sometimes you are sure you know how to implement an operation. Go ahead.
Penso che ciò che l'autore intende è che dovresti prima testarlo e poi "implementarlo" semplicemente - in contrasto con "Fake It ('Till You Make It") e altre tecniche, che richiedono passaggi più piccoli nella fase di implementazione . Inoltre, dopo queste citazioni, l'autore parla di ottenere "barre rosse" (test falliti) quando si esegue "Implementazione ovvia" - come si può ottenere una barra rossa senza un test?.
Tuttavia non sono riuscito a trovare alcuna citazione dal libro che dicesse "ovvio" significhi ancora test prima.
Che ne pensi? Dovremmo testare prima o dopo quando l'implementazione è "ovvia" (secondo TDD, ovviamente)? Conosci un libro o un post del blog che dice proprio questo?