Die Paarprogrammierung ist eine Programmiermethode, bei der zwei Personen auf einer Tastatur zusammenarbeiten. Eine Person, "der Fahrer", tippt an der Tastatur. Die andere Person, "der Beobachter" (oder "Navigator"), überprüft jede Codezeile, während sie eingegeben wird, prüft auf Fehler und denkt über das Gesamtdesign nach.


Einige Vorteile, die Sie erwarten können: besserer Code (einfacheres Design, weniger Bugs, wartbarer), höhere Moral (mehr Spaß!), Geteiltes Wissen in Ihrem Team (sowohl spezifisches Wissen über Ihre Codebasis und allgemeine Programmierkenntnisse), besseres Zeitmanagement, höher Produktivität.

Schritte

  1. 1 Beginnen Sie mit einer einigermaßen gut definierten Aufgabe, bevor Sie sich hinsetzen. Die Aufgabe sollte etwas sein, von dem Sie sicher sind, dass Sie es in ein oder zwei Stunden fertigstellen können. Beispiel: "Wartungshistorie 'zum Datenbankcode des Umzugswagens hinzufügen." Sie können es hilfreich finden, zu skizzieren, was Sie tun möchten, bevor Sie mit dem Code beginnen.
  2. 2 Ein kleines Ziel nach dem anderen: etwas, das Sie innerhalb weniger Minuten fertigstellen können. Wenn Sie das Problem mit Worten an eine andere Person stellen, können Sie Ihren Geist fokussieren und den Verstand Ihres Partners aktivieren. Es stellt auch sicher, dass Sie beide wissen, woran Sie arbeiten jetzt sofort.
  3. 3 Verlassen Sie sich auf Ihren Partner, unterstützen Sie Ihren Partner.
    • Wenn du der Fahrer bist, beende das aktuelle kleine Ziel so schnell wie möglich und ignoriere größere Probleme. Vertraue dem Beobachter als dein Sicherheitsnetz.
    • Wenn Sie der Beobachter sind, lesen Sie den Code, den der Fahrer schreibt, während er schreibt. Ihre Aufgabe ist Code Review. Sie sollten die volle Aufmerksamkeit auf sich nehmen und darauf bedacht sein, dass nichts von Ihnen kommt. Denken Sie über mögliche Fehler, größere Probleme und Möglichkeiten nach, das Design zu vereinfachen oder zu verbessern. Bringen Sie Fehler und Code, die Sie nicht finden, sofort zum Vorschein. Warten Sie, bis das aktuelle kleine Ziel erreicht ist, um größere Probleme und Ideen für die Designverbesserung zu erörtern. Notieren Sie diese späteren Aufgaben, damit der Fahrer sich auf die aktuelle kleine Aufgabe konzentrieren kann. Wenn Sie beispielsweise feststellen, dass der aktuelle Code eine Nulleingabe nicht berücksichtigt, notieren Sie sich auf einem Blatt Papier "Einheitentest für Nulleingabe hinzufügen".
    • Wenn Sie der Beobachter sind, diktieren Sie den Code nicht. Der Fahrer sollte aktiv darüber nachdenken, wie er die aktuelle Aufgabe erfüllen kann und nicht nur passiv tippen. Und als Beobachter sollten Sie die Tatsache ausnutzen, dass Sie die kleinen Details nicht erfinden müssen; Sie können und sollten auf einer höheren Ebene denken. Sprich: "Das sieht richtig aus. Wie wäre es mit dem Fall, in dem wir jetzt einen Nullzeiger übergeben haben?" ist besser als "OK, jetzt tippe 'if (s == NULL) return ...'"
  4. 4 Viel reden! Sagen Sie, was Sie vorhaben, fragen Sie nach einer Implementierungsidee, fragen Sie nach einem besseren Weg, um das Problem zu lösen, bringen Sie alternative Ideen auf, zeigen Sie mögliche Eingaben auf, die der Code nicht abdeckt, schlagen Sie klarere Namen für Variablen und Subroutinen vor , schlage Wege vor, den Code in kleineren Schritten zu implementieren, dem Treiber das bisschen API-Wissen zu geben, das sie gerade brauchen, in dem Moment, in dem sie es brauchen, etc. Natürlich auch viel zuhören. Wenn Menschen sich gut paaren, sprechen sie fast ununterbrochen hin und her. Hier sind einige allgemeine Dinge, die man beim Pairing sagen kann:
    • "Denkst du, das ist ein gültiger Test?"
    • "Sieht das für dich richtig aus?"
    • "Was kommt als nächstes?"
    • "Vertraue mir" (wenn es einfacher ist, einen kleinen Code zu schreiben, um deinen Standpunkt zu verdeutlichen, als es laut auszusprechen)
  5. 5 Synchronisieren Sie häufig. Wenn Sie zusammenarbeiten, werden Sie feststellen, dass Sie nicht mehr synchron sind: Sie werden unsicher, was Ihr Partner tut, oder Sie werden sich über die aktuelle Aufgabe nicht im Klaren sein. Das ist normal. Wenn es passiert, synchronisieren Sie es erneut. Der Schlüssel für eine gute Paarung liegt darin, dass Sie sehr häufig synchronisieren müssen - innerhalb von Sekunden oder Minuten, wenn Sie feststellen, dass Sie nicht mehr synchron sind. Wenn Sie fünf Minuten (oder mehr) nicht synchron sind, können Sie auch solo codieren, da die häufige Neusynchronisierung die Synergie der Paarung erzeugt.
    • Wenn Sie können, sagen Sie, was Sie tun werden, bevor Sie es tun. Besser noch, frag deinen Partner. zum Beispiel: "Sollen wir jetzt den Test für den Nullfall schreiben?" Manchmal müssen Sie jedoch Code schreiben, um Ihre Gedanken zu verstehen, und das ist in Ordnung. Dann können Sie sagen, dass Sie das tun: "Ich muss dies eingeben, um zu sehen, ob es eine gute Idee ist." Am besten, diese Art von Erkundung auf weniger als eine Minute zu beschränken.
    • Wenn Ihr Partner fragt, ob Sie mit etwas einverstanden sind, wie "Sollen wir jetzt den Test für den Nullfall schreiben?" oder "Ich denke diese Methode kann jetzt gelöscht werden. Stimmen Sie zu?", sagen Sie "Ja" oder "Nein" klar und sofort.
    • Es ist in Ordnung, die Tastatur sehr häufig hin- und herzuschieben. Zum Beispiel ist es manchmal einfacher, etwas "auszusprechen", indem man es in Code eintippt, als indem man versucht, es laut zu erklären. Lass also den Betrachter die Tastatur greifen und tippen. Dann können Sie zurückschalten oder den Beobachter weiterfahren lassen, je nachdem, was mehr Sinn macht.
  6. 6 Nehmen Sie sich Zeit, um zu feiern, wie Sie Aufgaben erledigen und Probleme überwinden. Zum Beispiel, jedes Mal, wenn Sie einen Test zum Bestehen bekommen, geben Sie einander eine hohe Fünf. Wenn du auch jedes Mal einen High-Five bekommst, bekommst du einen neuen Test dazu Scheitern, Sie werden wirklich in den Groove von kollaborativem Programmieren und testgesteuertem Design einsteigen.
  7. 7 Wechseln Sie die Rollen oft - mindestens jede halbe Stunde. So bleiben Sie beide voll beschäftigt, Sie beide im Einklang mit den Low-Level-Details und dem Gesamtbild. Außerdem kann es gefährlich sein, mit voller Wucht zu fahren, und es ist schwierig, die für die Beobachterrolle erforderliche Wachsamkeit länger als eine halbe Stunde aufrecht zu erhalten. Wechselnde Rollen laden dich auf.