6
votes

Paire programmation avec un nombre inégal de membres de l'équipe?

Récemment, nous avons rencontré un problème au travail où si une personne travaille sur un code par eux-mêmes, il semble sortir avec les autres membres de l'équipe en regardant et allant "hein? C'est moche, ingérable, je besoin de réécrire ce "

En fait, récemment, j'ai moi-même avoir dû reporter quelque chose qui a été écrit la semaine précédente afin de pouvoir ajouter ma fonctionnalité (associée).

Je sais que la programmation par paire est la voie à suivre, mais nous avons une équipe inégale (3 membres). Comme notre équipe est poussée assez dur pour le moment, nous n'avons vraiment pas le temps pour les critiques de pairs (bien que nous puissions faire une programmation en paires, car nous sommes autorisés à estimer cela dans nos estimations de tâches)

Je suis juste curieux de savoir comment les gens suggéreraient que nous surmonterions ces problèmes avec le code médiocre généré.


1 commentaires

Voici un lien intéressant qui sonne vraie à propos de la programmation de paires: Cafe.elharo.com/ Programmation / pourquoi-paire-programmation-travaux


9 Réponses :


2
votes

SO:

  • vous êtes poussé assez dur
  • Votre code est de mauvaise qualité

    Pensez-vous que les deux pouvaient éventuellement être liés? La réponse est de corriger le calendrier.


2 commentaires

Notre code semble ne faire passer que de pauvres sur des occasions étranges et seulement lorsque nous avons un seul dev en travaillant dessus.


En supposant que la programmation d'une paire est plus efficace, une programmation que la programmation de quelqu'un est susceptible de se sentir sous plus de pression si un calendrier est déraisonnable et fait donc encore plus d'erreurs que dans un environnement non-paires.



6
votes

Je suis surpris que vous n'ayez pas le temps de faire des critiques de pairs, mais vous avez le temps de faire une programmation jumelée. Est-ce que ce dernier n'est pas un plus grand purs de temps?

Nous n'avons également trois développeurs que chez notre société et, surprise, surprise, nous sommes en train d'être poussé dur pour le moment. Je suis à peu près sûr que mon patron me moquerait de me motiver si je suggérais une programmation jumelée car cela serait considéré comme un doublement du nombre d'heures de travail pour une tâche même si elle ne résulte pas du résultat qu'il devrait produire. Nos critiques de pairs ne sont jamais plus d'une heure et c'est un cas extrême. En moyenne, je dirais qu'ils sont probablement environ 10 minutes et, par développeur, ne se produisent qu'une ou deux fois par jour.

imo vous devriez donner des examens par des pairs un essai. Vous constatez souvent que les personnes incriminées (c'est-à-dire que les gens qui écrivent le code de la qualité inférieure) se rendent finalement compte qu'ils doivent faire plus d'efforts et la qualité s'améliore au fil du temps.


9 commentaires

Vous n'avez pas besoin d'offenser les personnes dans des critiques de pairs.


Quand il a dit "le peuple offensant", il voulait dire que les gens faisaient les erreurs de ne pas être offensée.


Certaines programmations de paire d'argumes ne sont pas un évier de temps. C'est une révision des pairs en temps réel et prévention des décisions de conception idiotes.


10 minutes pour un examen par les pairs à mon avis sonne très courte.


Merci pour les réponses John. Je dois souligner que je n'ai jamais essayé de faire une programmation par paire, alors quand j'ai demandé s'il s'agissait d'un plus gros évolutif de temps sur les revues de code, ce n'était pas une question rhétorique. Je ne sais vraiment pas. :) La citation de dix minutes pour les examens par des pairs a été une moyenne basée sur le fait que nous aimons tout mettre en revue, même des changements à une ligne pouvant être aussi courts que dix secondes. C'est incroyable combien de changements de ligne entraînent les problèmes les plus gros :).


@Troubadour: La programmation de paires est tout sauf une perte de temps. Tandis que l'un des types de l'autre, l'autre fait déjà la pensée du processus à faire ensuite et celui étant programmé s'il correspond au reste de la solution. La programmation de paires peut ressembler à une perte de temps, mais il s'avère en fait que le code écrit par une paire est beaucoup plus stable et convient mieux à l'ensemble de l'application.


@Robert. Merci, cela fait beaucoup de sens et je vous crois certainement que le code serait plus stable, ce qui permet d'économiser des défauts de fixation de temps - le temps qui est toujours sous-estimé. Il est quelque chose que j'aimerais essayer à un moment donné, mais comme je le disais, je ne sais pas si mon entreprise irait pour cela pour le moment.


Paire de la programmation Pour nous, beaucoup de temps accélérera les choses, à cause des connaissances partagées («Oh vous faites cela ici» plutôt que Hunt via le code à la recherche d'un peu de bit aléatoire, vous devez changer )


@Ttroubadour: Je penserais que tout deviendrait tout ce qui est en revue, en particulier tous ces changements à une ligne seraient un peu sur le dessus. Je conviens que certains changements d'une ligne pourraient causer des problèmes importants, il y a une époque et un lieu pour ces sortes de critiques. Parfois, vous devez vous faire confiance.



3
votes

Si vous avez trois développeurs et chacun d'entre vous pensez que le code des autres n'est pas bon, vous avez de toute urgence des critiques de pairs.


1 commentaires

Et peut-être d'être enfermé dans une pièce jusqu'à ce que vous puissiez tous d'accord que votre propre code est inintelligible ...



14
votes

Lorsque vous travaillez seul et que vous produisez du code que vos collègues trouvent laid et ingérifugable et doivent être réécrites, alors faites-vous:

(a) d'accord avec eux lorsque vous l'examinez une seconde fois,

(b) n'est pas d'accord?

Si (a), alors le problème est que vous ne clarifiez par vous-même que votre code lorsque vous l'écrivez. Étant donné que la programmation d'une paire est la seule chose qui vous permet de rédiger un code décent, je suppose que je recommanderais que le "Odd Out Out" devrait travailler sur des tâches qui n'impliquent pas d'écriture de longs tracts de mauvais code: la chasse à un bug; Peut-être écrire le code de test, car cela a tendance à être un peu moins diabolique. Pendant ce temps, travaillez sur l'amélioration de vos compétences en écrivant de meilleurs codes - peut-être effectuez des critiques de votre propre code à partir de quelques mois et apportez des notes quant à ce qui n'allait pas avec elle.

Si (b), alors le problème que vous avez est incompatible des moyens d'exprimer vos idées. Le code peut ne pas être mauvais par vos normes, mais il est mutuellement incompréhensible, lequel dans une entreprise signifie qu'il est mauvais code. La programmation par paire signifie ce que vous écrivez est un compromis que vous compreniez 2 sur 3, mais ce n'est pas vraiment une solution. Vous devez venir à certains accords mutuels sur ce que vous trouverez le plus difficile du code de l'autre et arrêtez de le faire. Et vous devez tous de toute urgence de commencer à penser à "la qualité du code" en termes de "Mes 2 collègues aimera ce code", pas "J'aime ce code".

De toute façon, vous devez tous travailler sur le code d'écriture dans le but d'être lu , plutôt que dans le but d'obtenir le travail immédiat aussi rapidement que vous le pouvez éventuellement. Personnellement, je l'ai fait en essayant d'exprimer des choses de la manière dont je pense que d'autres personnes pourraient les exprimer et les comprendre, plutôt que ce qui a du sens pour moi à l'époque. Finalement, ça devient habituel. Lorsque j'écris du code, je l'écris pour un public public, tout comme j'écris ce poste pour un public public. Ok, donc sur mes projets personnels, c'est un auditoire de personnes qui pensent comme moi, alors qu'au travail, c'est un public qui pense que mes collègues. Mais le principe est d'écrire du code comme si quelqu'un le lit. Vous vous expliquez à eux, pas le compilateur.

Pas que mon code est le meilleur du monde, mais je pense que j'ai profité de ce premier emploi dans une entreprise avec 30 autres programmeurs. Je dois donc voir une large gamme de façons de penser à des choses. Aussi quelques exemples de "quoi de ne pas faire", où un programmeur avait fait quelque chose qui personne ne pouvait facilement comprendre, et pourrait donc être définitivement dit être mauvais. Avec seulement 3 personnes, il n'est pas clair si une différence d'opinion de 2 v. 1 signifie que le 1 est un monstre ou une minorité raisonnable. Quand j'ai fait quelque chose et 4 ou 5 personnes pouvaient y jeter un coup d'œil et dire immédiatement «EEEW, ne faites pas cela», alors j'ai commencé à croire que c'était juste une idée stupide en premier lieu.

Je recommanderais également que si vous n'êtes pas autorisé à budgétiser votre examen de code, mentir et tricher. Si vous réécrivez fortement le code de quelqu'un d'autre, vous prenez efficacement le temps de l'examiner de toute façon, vous ne fournissez pas simplement les commentaires qui sont la partie intéressante de l'examen du code. Alors, faufilez la critique sous le radar - écrivez une fonction ou trois, puis demandez à un collègue de le regarder et de vous donner des commentaires instantanés sur le point de savoir s'il est logique d'eux. Il aide à avoir une conversation dès que vous l'avez fait, avec le code sur le moniteur, mais essayez de ne pas interrompre les personnes lorsqu'elles ont des "flux" ou pour passer de longs arguments. Ce n'est pas une programmation par paires, et ce n'est pas un avis de code formel, mais cela pourrait vous aider à comprendre ce que vous faites vous-même seul.


0 commentaires

0
votes

Vous devriez encore paire. Configurer des sessions disent 1 jour par semaine et faites pivoter les paires. Cela devrait garder votre manager heureux et augmenter la qualité du code, améliorer la communication. Si vous gardez des mesures sur le nombre de défauts dans le codage solitaire associé à VS, vous devez commencer à voir le Benfit et à l'afficher à votre responsable,

Par exemple, cela a pris x heures des heures, mais sauvegardé en moyenne y dans la fixation de défauts. De plus, le clode est plus propre et prendra moins de temps pour altérer la prochaine fois que nous le touchons.

De là, vous aurez des statistiques durs et vous pouvez commencer à coder plus.

Fondamentalement, votre histoire semble être la même que la mienne.

  1. Pas de temps pour faire des choses.
  2. Les erreurs se produisent.
  3. précipitez-vous pour le réparer (prendre plus de temps)
  4. aller à 1

    Vous devez arrêter la pourriture.


0 commentaires

1
votes

paire des trois à la fois.

Configurez quelques normes de codage.

Utilisez une casquette Dunce pour construire des développeurs de rupture.

Effectuer des réunions de haut niveau quotidiennes pour communiquer les progrès.

Essayez également les commentaires des pairs deux fois par semaine, comme mardi et vendredi.


0 commentaires

1
votes

La programmation par paire ne doit pas nécessairement être toute la journée tous les jours pour être efficace. J'ai vu de bons résultats d'une heure ou deux travaillant ensemble chaque semaine. Une façon d'aller être d'associer A & B pendant un moment, puis a & C, puis a & b ... avec beaucoup de temps individuel entre les deux.

Cela dépend aussi beaucoup des personnalités et de la chimie des membres de l'équipe. Deux des trois peuvent travailler exceptionnellement bien ensemble et que vous voudriez bénéficier de cela.


1 commentaires

^ Je suis tout à fait d'accord, surtout avec la première partie de cette réponse!



0
votes
  1. Code Avis
  2. Activer la stylécop qui vous obligera à écrire un code lisible, standardisé et gérable

1 commentaires

1. ensemble d'hypothèses privées).



0
votes

Nous utilisons des avis de code. En outre, il y a une tâche unique: changer un diagramme, installer des choses ...


0 commentaires