42 votes

Est-ce que TDD est excessif pour les petits projets?

Récemment, j'ai lu pas mal de choses sur le TDD, etc., et je ne suis pas encore tout à fait convaincu. Je fais beaucoup de petits projets de loisir (juste moi) et je suis inquiet si essayer de faire du TDD est excessif pour une telle chose. Bien que j'ai vu de petits projets open source avec comme 3 développeurs qui font TDD. (Bien que j'ai vu quelques projets d'une personne qui font aussi TDD)

Le TDD est-il toujours une bonne chose à faire ou à quel seuil est-il judicieux de l'utiliser?

43voto

Fraser Graham Points 2181

Les petits projets peuvent avoir l’habitude de se transformer en grands projets sans que vous vous en rendiez compte, alors vous souhaiteriez avoir commencé avec TDD :)

34voto

hobodave Points 14566

TDD brille dans les petits projets. Il est souvent beaucoup plus facile d'adhérer aux TDD dans un petit projet, et c'est un grand moment de pratique et d'obtenir la discipline nécessaire pour suivre TDD.

Dans mon expérience, les grands projets ont tendance à être ceux qui abandonnent TDD à un certain seuil. (Je ne dis pas que c'est une bonne chose).

Je pense que les grands projets ont tendance à l'abandonner pour un couple de raisons:

  • Développeur inexpérience --- soit en général ou TDD
  • Les Contraintes de temps --- les Grands projets sont de nature plus complexe
    • Qui ajoute à la complexité conduit à la date limite de dépassements et les tests unitaires ont tendance à obtenir abandonné une première
    • Ceci peut être aggravé par une équipe inexpérimentée

20voto

Jörg W Mittag Points 153275

D'après mon expérience personnelle, je peux dire ce qui suit:

  1. Chaque fois que j'ai commencé l'un de mes petits projets personnels, je me suis voué à le développer à l'aide de TDD.
  2. Chaque fois que je ne l'ai pas fait.
  3. A chaque fois je le regrettais.

17voto

Kaleb Pederson Points 22428

Tout a une courbe coûts-avantages .

Ignorant bon nombre des avantages souvent contestés de TDD, TDD en vaut la peine si votre mise en œuvre change suffisamment pour que les avantages d'une suite de tests automatisés l' emportent sur les coûts supplémentaires pouvant être impliqués dans le développement initial.

10voto

duffymo Points 188155

Je trouve toujours une question comme ça drôle. Quelle est l'alternative? L'écriture de code que vous seulement de compiler et de ne jamais exécuter afin de vérifier son exactitude? Ne vous attendez jusqu'à ce que vous déployez pour la production de savoir si votre classe fonctionne à tous?

Si nous n'avons jamais eu une pratique appelée TDD, ou avant de JUnit a été inventé en 1997, il n'y avait pas de test du code? Bien sûr, il y était. Alors, pourquoi est-ce une grosse affaire, maintenant que vous avez les tests des cadres pour vous aider avec cela?

Un petit projet sur un délai serré ne voulez pas attendre jusqu'à ce que la production de savoir si cela fonctionne. Écrire les tests.

Il n'est pas nécessaire pour tout projet qui est "petit", mais je définir des "petits" moins que d'une seule classe.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X