Pour ceux qui ont pas lu le code complet 2, le processus de programmation est essentiellement une pseudocode façon de concevoir une routine en décrivant en anglais plaine d'abord, puis réviser progressivement à pseudocode plus détaillée, et enfin au code. Le principal avantage de cela est de vous aider à rester au bon niveau d'abstraction par les systèmes de construction haut vers le bas plutôt que de bas en haut, évoluant ainsi une API propre en couches distinctes. Je trouve que TDD est moins efficace, parce qu'il se concentre trop à faire le strict minimum pour obtenir un test pour passer et encourage peu la conception à l'avance. Je trouve aussi que d'avoir à maintenir une série de tests unitaires pour le code instable (code qui est constamment refactorisé) est assez difficile, car il est généralement le cas que vous avez une douzaine de tests unitaires pour une routine qui est seulement nécessaire une ou deux fois. Lorsque vous faites refactor - changer une signature de méthode, par exemple - la plupart des travaux que vous faites est la mise à jour des tests plutôt que le code prod. Je préfère ajouter des tests unitaires après le code d'un composant est stabilisé un peu.
Ma question est - de ceux qui ont essayé les deux approches, qui préférez-vous?













