La programmation par paires est une méthode de programmation dans laquelle deux personnes travaillent ensemble sur un clavier. Une personne, "le conducteur", tape au clavier. L'autre personne, "l'observateur" (ou "navigateur") examine chaque ligne de code au fur et à mesure de la saisie, vérifie les erreurs et réfléchit à la conception globale.


Certains avantages sont attendus: meilleur code (conception plus simple, moins de bogues, plus facile à maintenir), meilleur moral (plus de plaisir!), Connaissances partagées au sein de votre équipe (connaissances spécifiques de votre base de code et connaissances générales en programmation), meilleure gestion du temps, productivité.

Pas

  1. 1 Commencez par une tâche raisonnablement bien définie avant de vous asseoir. La tâche devrait être quelque chose que vous êtes sûr que vous pouvez accomplir en une heure ou deux. Par exemple, "Ajouter l'historique de maintenance" au code de la base de données de fourgon mobile. " Vous trouverez peut-être utile de décrire ce que vous comptez faire avant de commencer à coder.
  2. 2 S'entendre sur un petit objectif à la fois: quelque chose que vous pouvez compléter en quelques minutes. Indiquer le problème avec des mots à une autre personne aide à concentrer votre esprit et aide à engager l'esprit de votre partenaire. Cela garantit également que vous savez tous les deux sur quoi vous travaillez maintenant.
  3. 3 Faites confiance à votre partenaire, soutenez votre partenaire.
    • Lorsque vous êtes le conducteur, remplissez le petit objectif actuel aussi rapidement que possible, en ignorant les problèmes plus importants. Faites confiance à l'observateur pour être votre filet de sécurité.
    • Lorsque vous êtes l'observateur, lisez le code que le pilote écrit tel qu'il l'écrit. Votre travail est la révision du code. Vous devez faire attention à ne rien laisser passer. Réfléchissez aux bogues possibles, aux problèmes les plus importants et aux moyens de simplifier ou d'améliorer la conception. Apportez des erreurs et du code que vous trouvez illisibles tout de suite. Attendez que le petit objectif actuel soit fait pour évoquer des problèmes plus importants et des idées d'amélioration de la conception. Notez ces tâches ultérieures afin que le pilote puisse rester concentré sur la tâche minuscule. Par exemple, si vous constatez que le code actuel ne parvient pas à prendre en compte une entrée nulle, notez sur un bout de papier "Ajouter un test unitaire pour une entrée nulle".
    • Lorsque vous êtes l'observateur, ne dictez pas le code. Le conducteur devrait réfléchir activement à la manière de réaliser la tâche en cours, et pas seulement de taper passivement. Et en tant qu'observateur, vous devriez exploiter le fait que vous n'avez pas besoin d'inventer les petits détails; vous pouvez et devez penser à un niveau supérieur. En disant "ça a l'air correct. Que diriez-vous de gérer le cas où nous avons passé un pointeur nul maintenant?" vaut mieux que "OK, maintenant tapez 'if (s == NULL) return ...'"
  4. 4 Beaucoup parler! Dites ce que vous êtes sur le point de faire, demandez une idée d'implémentation, demandez une meilleure façon de résoudre le problème, proposez des idées alternatives, indiquez les entrées possibles que le code ne couvre pas, suggérez des noms plus clairs pour les variables et les sous-routines , suggérer des moyens d'implémenter le code en petites étapes, indiquer au pilote le peu de connaissance de l'API dont ils ont besoin au moment où ils en ont besoin, etc. Écoutez aussi bien sûr, bien sûr. Lorsque les gens se marient bien, ils parlent sans arrêt. Voici quelques choses communes à dire en appariement:
    • "Pensez-vous que c'est un test valide?"
    • "Est-ce que cela vous semble correct?"
    • "Et après?"
    • "Croyez-moi" (quand il est plus facile d'écrire un petit code pour faire valoir votre point que de le dire à voix haute)
  5. 5 Synchronisez fréquemment. Au fur et à mesure que vous travaillez ensemble, vous vous retrouverez en train de vous désynchroniser: vous ne savez plus exactement ce que fait votre partenaire ou vous ne comprenez plus la tâche en cours. C'est normal. Lorsque cela se produit, synchronisez à nouveau. La clé pour un bon couplage est de synchroniser très fréquemment, en quelques secondes ou une minute avant de constater que vous êtes désynchronisé. Si vous perdez cinq minutes (ou plus) en synchronisation, vous pourriez aussi bien coder en solo, car c'est la ré-synchronisation fréquente qui crée la synergie de l'appariement.
    • Lorsque vous le pouvez, dites ce que vous êtes sur le point de faire avant de le faire. Mieux encore, demandez à votre partenaire. par exemple, "Devrions-nous écrire le test pour le cas nul maintenant?" Parfois, cependant, vous devez écrire du code pour comprendre votre pensée, et ce n'est pas grave. Ensuite, vous pouvez dire que vous faites cela: "Je dois taper ceci pour voir si c'est une bonne idée." Mieux vaut garder ce genre d'exploration à moins d'une minute, cependant.
    • Lorsque votre partenaire vous demande si vous êtes d'accord avec quelque chose, comme "Devrions-nous écrire le test pour le cas nul maintenant?" ou "Je pense que cette méthode peut être supprimée maintenant. Êtes-vous d'accord?", dites "Oui" ou "Non" clairement et immédiatement.
    • Il est acceptable de passer le clavier très fréquemment. Par exemple, il est parfois beaucoup plus facile de "dire" quelque chose en le tapant dans du code qu'en essayant de l'expliquer à voix haute. Alors laissez l'observateur saisir le clavier et tapez. Ensuite, vous pouvez revenir en arrière ou laisser l’observateur continuer à conduire, selon ce qui convient le mieux à ce moment-là.
  6. 6 Prenez un moment pour célébrer pendant que vous accomplissez des tâches et surmontez des problèmes. Par exemple, chaque fois que vous faites passer un test, donnez-vous cinq fois de plus. Si vous avez également cinq ans chaque fois que vous obtenez un nouveau test à échouer, vous allez vraiment entrer dans le groove de la programmation collaborative et de la conception pilotée par les tests.
  7. 7 Changer de rôle souvent au moins toutes les demi-heures. Cela vous permet de rester tous les deux pleinement engagés, à la fois en accord avec les détails de bas niveau et la vue d’ensemble. De plus, conduire à plein régime peut vous fatiguer, et il est difficile de maintenir la vigilance requise du rôle d'observateur pendant plus d'une demi-heure. Changer de rôle vous recharge.