L'une des ressources clés pour la programmation extrême est celle de Ward's Wiki aka Portland Pattern Repository aka C2.com . C'est là qu'un certain nombre de personnes ont élaboré diverses méthodologies et les ont documentées au fur et à mesure de leur utilisation.
Dans ce wiki, il y a une page: Extreme Programming Code Reviews qui a un certain nombre de contributeurs, dont Ron Jeffries et Kent Beck.
À cela, ils ont dit:
Les revues de code sont considérées comme importantes par de nombreux gourous des grands processus. Ils sont destinés à assurer la conformité aux normes et, plus important encore, à garantir que le code est clair, efficace, fonctionne et possède un QWAN. Ils avaient également l'intention d'aider à diffuser les connaissances sur le code au reste de l'équipe.
ExtremeProgramming nécessite que tous les développements soient effectués par deux ingénieurs travaillant ensemble. Le code est en fait revu à la volée, dans une très large mesure. Cela garantit que plus d'une personne a une connaissance intime du code à tout moment.
ExtremeProgramming nécessite que tous les objets aient des UnitTests. Ceux-ci garantissent que l'objet fonctionne et continue de fonctionner tel que modifié.
Certaines langues sont réfléchissantes. Dans ces langues, UnitTests peut vérifier directement la conformité aux normes importantes. (Par exemple, les objets doivent implémenter à la fois # = et #hash, ou aucun.)
ExtremeProgramming pratique CollectiveCodeOwnership, ce qui signifie que les objets nécessitant une attention seront parcourus par de nombreux développeurs. Cela tend à exercer une pression sur ceux qui produisent du code non conforme aux normes. Les développeurs en visite sont encouragés / attendus à mettre le code en conformité lorsqu'ils trouvent des écarts. Cela garantit également que la connaissance du code est diffusée au-delà de la paire initiale de programmeurs qui l'a créée.
Par conséquent, les projets ExtremeProgramming ne nécessitent pas de revues explicites. Supprimez-les de votre méthodologie.
Il y a également un peu plus de discussion sur le sujet de la part des autres.
Cependant, avec la combinaison de tests, la propriété collaborative et la programmation en binôme, ces éléments résolvent les objectifs qu'une révision de code est généralement censée atteindre, tels que:
- Diffuser la connaissance de ce qui se fait
- Un deuxième (ou plus) jeu de globes oculaires sur le code pour s'assurer qu'il respecte les normes
- Vérifier le bon fonctionnement du code
Celles-ci sont effectuées en continu par le biais de la programmation par paires et de tests automatisés dans Extreme Programming et une inspection explicite de Fagan n'est donc pas nécessaire.
Lecture connexe: