web-dev-qa-db-fra.com

Un programmeur doit-il réparer la construction échouée de quelqu'un d'autre?

Un programmeur a commis des travaux sur le référentiel SVN, puis rentré chez lui. Après sa départ, la construction automatique Hudson a échoué. Un autre programmeur a vu cela, et après avoir examiné les changements de code, a détecté que le problème était l'absence d'une bibliothèque. Il a ajouté cette bibliothèque à SVN et la prochaine construction terminée avec succès.

Le deuxième programmeur a-t-il fait la bonne chose ou devrait-il avoir attendu jusqu'à ce que le premier programmeur fixe le problème?

45
nahab

Cela dépend dans une certaine mesure de la façon dont votre équipe fonctionne habituellement, mais je dirais que c'était bien. Garder le fonctionnement de la construction enregistre le temps de tous les autres.

Il est poli que le deuxième programmeur dépose le premier courrier électronique pour expliquer ce qu'il a fait, au cas où une version spécifique de la bibliothèque est nécessaire ou une autre complication. C'est aussi une façon légèrement plus subtile de souligner qu'ils avaient enfreint la construction.

87
Luke Graham

Ça dépend.

  • Le bogue est-il si évident que l'ajout d'une bibliothèque est le moyen de le réparer? Parfois, le correctif consiste à trouver une solution de contournement de ne pas avoir besoin de cette bibliothèque.

  • Le projet est-il dans une phase où tous les changements doivent être liés à un ticket existant? Si oui, avez-vous déposé un billet? Est-ce que ce billet vous a été attribué?

Quoi qu'il en soit, concentrez-vous sur la réparation du bogue, sans blâmer le responsable.

12
mouviciel

Oui c'est d'accord. Cependant, il est peu professionnel que le programmeur original rentre chez lui avant de tester la construction de la construction.

Votre réputation est de 100% dans votre contrôle. Des trucs comme ça se ternissent votre réputation et essayer de polir une réputation ternie est très difficile.

communiquer

Il n'y a pas de règles strictes (à côté de vos propres règles d'équipe) pour ces scénarios.

Dev2 devrait pouvoir dire à Dev1, il peut réparer son erreur, aucun d'entre eux ne devrait craindre quelque chose résultant de cet échange, ils font partie d'une équipe.

7
xsace

Pourquoi pas? Si votre produit est plus important que de réparer les blâmes, c'est certainement bien. Bien qu'un échec de la construction en raison du changement de bibliothèque soit assez boiteux et que vous devez réprimander le développeur pour ne pas le tester.

5
DPD

Construire des échecs se produisent. S'il est important que la construction quotidienne se produise alors, je le répare, puis demander au développeur qui a vérifié le code brisé pour examiner le correctif le lendemain et s'assurer que le code est maintenant tel qu'il devrait être.

Comme on l'a dit, le gars qui a fixé cela devrait probablement envoyer un courriel au gars qui l'a cassé et détaille ce que le correctif était.

3
AndrewC

Oui oui oui! Il favorise la propriété du code collectif et définit une sorte de paper-pression sain dans l'équipe pour conserver un standard élevé et ne pas laisser un scénario de fenêtre cassé se développer. Un peu de communication pour laisser l'autre développeur savoir est une bonne idée.

2
Peter Kelly

Ma devise, n'est pas commise à SVN après 15h de cette façon, vous pouvez toujours réparer vos propres échecs de construction.

Si vous ne réparez pas son insuffisance de construction, la construction de tout le monde échouera également. Je vais le réparer pour gagner du temps à long terme, mais assurez-vous qu'ils sont conscients que vous deviez le réparer.

Avoir une sorte de "point de blâme" est un bon moyen de le faire, ou de rendre la personne qui brise la construction beignets !!

2
luketorjussen

Quelqu'un doit le réparer et le premier programmeur ne devrait pas être rentré chez lui sans d'abord s'assurer qu'il n'avait pas cassé la construction. Cependant, pour un problème aussi facilement fixe, l'appelant à la réparer lui-même serait extrême.

Je suis d'accord avec la suggestion de Luke Graham d'envoyer un e-mail explicatif, bien que je dise que c'est plus que poli - c'est la communication de base.

2
Alex Dalziel

Des choses arrivent. L'échec d'ajout d'un nouveau fichier de code (source de source ou compilée) à Subversion est probablement la cause la plus courante de constructions cassées, en supposant que cela fonctionne sur l'ordinateur du développeur. À mon dernier emploi avec un environnement CI, même les gars les plus âgés ont parfois oublié.

Je pense que si une autre personne a été capable de réparer la construction et de garder ainsi l'équipe bourdonnant, c'est bon. Je pense que le programmateur qui est rentré à la maison a besoin d'au moins un courrier électronique amical indiquant ce qui s'est passé et de lui rappeler de s'assurer que le nouveau code est ajouté avant de les engager. Si cela se produit souvent, faites peut-être qu'une infraction mineure punissable par la "danse de la honte", afin de réduire les événements (et d'alléger l'ambiance).

1
KeithS

Cela dépend de la dynamique de l'équipe, mais dans un monde idéal, tout le monde de l'équipe "posséderait" tout le projet, tout le code, et par conséquent, tous les bugs conjointement. Donc, si vous trouvez un problème, vous le réalisez et communiquez avec l'expéditeur du bogue uniquement s'il existe une valeur ajoutée spécifique au code.

1
Dave

Il est correct de réparer à moins que ce soit une occurrence régulière au cours de laquelle je voudrais que le patron lui appelle et de le faire revenir et de le réparer lui-même.

0
HLGEM

Cela dépend, cela dépend ...

En tant que programmeurs, notre travail est de faire travailler les choses, de ne pas juger des gens. Donc, je dirais que la meilleure chose à faire est de le réparer, ou si ce n'est pas évident, réduisez simplement les changements et laissez le premier programmeur le savoir afin qu'il puisse le réparer plus tard.

Quoi qu'il en soit, avoir le dernier gars qui a cassé la construction pour porter un chapeau étrange suffit à payer plus d'attention la prochaine fois ^ _ ^

0
fortran

Dans certains environnements, c'est très grossier et pour de bonnes raisons. Dans d'autres environnements, il est attendu et pour de bonnes raisons.

Dans toujours d'autres environnements, il est très grossier ou attendu pour de très mauvaises raisons.

Cela dépend en grande partie de la majeure partie d'une construction brisée par rapport à la critique d'une version correcte vérifiée. Et dans une certaine mesure, cela dépend de la manière dont il était évident que le correctif était le bon correctif et le seul nécessaire.

0
David Schwartz

Tout d'abord, "rentrée à la maison" est un anachronisme. Les programmeurs ne rentrent plus chez eux - ils ne sont que en ligne ou hors ligne. Vous pourriez ping et attendre.

Plus sérieusement, il y a en fait deux parties à la question. "regarder à travers les changements de code" va bien; Le repos peut ne pas être la bonne chose à faire. Et si son jugement d'une bibliothèque manquante était faux?

0
Kris