Tratto dall' elenco dei problemi risolti dall’ update for the .NET Framework 3.5 Service Pack 1 :
In the .NET Framework 3.5 SP1, the Geometry.Combine method creates more points or segments than the method creates in earlier versions. The point or path information that is generated by WPF uses 10 times the number of points to define a geometry path as in earlier versions. Earlier versions require three lines to define a relatively simple geometric shape or path. However, 30 lines are required in the .NET Framework 3.5 SP1
Sono senza parole.
Siccome non posso credere che abbiano fatto refactoring di un metodo senza unit testing, è solo molto probabile che a nessuno fosse venuto in mente di scrivere un test sulla verifica del numero di righe necessarie a definire una determinata geometria di prova. Quindi dopo il refactoring tutti i test hanno continuato a passare, e via col vento.
E’ solo un ulteriore esempio di quanto sia difficile estendere e modificare un qualsivoglia programma (figuriamoci poi una cosa complessa come un framework) senza “rompere” funzionalità già esistenti, nonostante l’uso delle migliori pratiche.
Nel mio minuscolo, sto scrivendo un po’ di test. Mi sembrano tutti troppo semplici, troppo scontati, troppo inutili… Finché uno non torna ad essere rosso.
La verità è che di test se ne scrive sempre uno di meno del dovuto. Sempre. Ma, come per ogni cosa, bisogna trovare il punto di compromesso.