Il n'y a rien de mal avec les petits commits. En fait, ils sont préférables car ils sont plus faciles à examiner qu'un gros patch blob. Ils montrent mieux votre processus de pensée et permettent au travail d'être examiné en petits morceaux. Et un critique peut toujours transformer beaucoup de petits commits en un grand, mais l'inverse ne peut pas être fait. Cela suppose que vos validations sont sous la forme de blocs logiques.
Mais puisque vous n'êtes pas tester jusqu'à ce que après vous pousser Je suppose que vos commits sont plus de la forme de « oups, je me suis cassé quelque chose commettre dernier ». Ceux-ci ne sont pas bons et empêcheront l'examen. Idéalement, ils devraient être --amend
ed au commit précédent.
Code, validation, puis test empêche TDD. Ce que vous voulez faire est de commencer à partir d'un bon état connu, le code, exécuter les tests, voir un échec, puis savoir qu'il a été causé par quelque chose dans votre très petit et facile à déboguer diff. Cela signifie également que vous êtes en train de pousser des changements brisés dans le master, ce qui va vider tout le monde dans l'équipe.
Alors oui, vous avez besoin d'un environnement de test sur votre machine dev. Quelque chose qui fonctionne à la pression d'un bouton et se termine rapidement (nous parlons minutes, tops). Si la suite complète s'avère trop lente ou encombrante, vous pouvez exécuter une partie seulement de la suite, peut-être la partie que vous estimez la plus pertinente pour votre modification, puis laisser le serveur de test exécuter la suite complète après avoir appuyé sur. C'est un bon compromis entre l'efficacité du test et la rigueur.
Si, pour une raison ou une autre, vous ne pouvez pas faire fonctionner un environnement de test sur votre machine dev, vous pouvez travailler dans votre propre branche et pousser cela pour tester. Ensuite, si cela ne fonctionne pas, vous pouvez --amend
votre solution. Une fois que vous avez terminé avec votre fonctionnalité, vous pouvez fusionner vos modifications en master.Cela à la fois élimine "Oups, je l'ai cassé" commet et vous empêche de briser le maître pour tout le monde tout en rendant encore petits, faciles à revoir commits. Ce que vous devriez utiliser votre serveur de test est d'exécuter les tests dans une simulation de production aussi proche que possible, les machines de développement sont souvent hétérogènes et en bonne santé, et d'automatiser les tests au cas où quelqu'un se désintègre.
Quel est le problème d'avoir beaucoup de petits commits? – hasen
En outre, quel est le problème avec un serveur de test sur votre poste de travail? Je considérerais cela comme une exigence. –
Je me demandais juste si ma méthode est standard. Mais si avoir un serveur de test sur mon poste de travail est l'approche recommandée, alors je vais essayer cela. – Chris