Seit Anfang dieses Monats arbeite ich intensiv an dem Open-Source-Kurs, den ich am Seneca Polytechnic belegt habe, und eines der Labore, die wir hatten, bestand darin, eine Pull-Anfrage zu erstellen das Repo einer anderen Person und genehmigen Sie eine Pull-Anfrage an Ihr eigenes Repo, also darüber werde ich sprechen.
Ich beginne mit einer Pull-Anfrage, die ich für ein Problem erstellt habe. Das Problem bestand darin, Unterstützung für ein Flag hinzuzufügen, das es ermöglicht, zu sehen, wie viele Token in der Anfrage und als Antwort verwendet wurden:
https://github.com/aamfahim/explainer.js/issues/22
Der Prozess der Implementierung dieser Funktion war ziemlich einfach. Ich musste das ursprüngliche Repository forken, die Änderungen festschreiben und in einen neuen Zweig übertragen und eine Pull-Anfrage vom Zweig in meinem Zweig zum Hauptzweig im ursprünglichen Repo erstellen:
https://github.com/aamfahim/explainer.js/pull/23
Die Implementierung war ziemlich einfach, wenn man bedenkt, dass ich node.js schon eine ganze Weile verwende und mein Teamkollege keine großen strengen Anforderungen an die Art und Weise hat, wie ich Code schreibe. Nachdem er meinen Code überprüft hatte, bat er mich, die Namen der Variablen zu ändern, um sie aussagekräftiger zu gestalten, aber das war es auch schon – die Änderungen waren recht einfach und unkompliziert.
Jetzt hatte mein Partner große Probleme, das Problem in meinem Repository zu implementieren:
https://github.com/SychAndrii/infusion/issues/20
Mit seiner Pull-Anfrage:
https://github.com/SychAndrii/infusion/pull/21
Wie Sie sehen können, ist der Verlauf der Überprüfung und der angeforderten Änderungen viel länger als beim ersten Pull-Request. Die Art und Weise, wie mein Teamkollege (dessen Problem ich übrigens schätze) beim ersten Mal Code schrieb, bestand darin, eine Funktion zu erstellen, die ihren Code nur ausführte, wenn der zweite Parameter True war. Daher kam ich zu dem Schluss, dass dies kein sehr sauberer Ansatz ist, und bat ihn darum mach es neu. Anstatt das Kettenobjekt von Langchain mit einer Funktion zu konstruieren, die manchmal gar nichts tut, habe ich ihn gebeten, dieses Objekt unter Bedingungen zu konstruieren, aber mit einer Funktion, die immer nützlich ist. Darüber hinaus hat mein Teamkollege große Probleme mit der Python-Sprache (um ehrlich zu sein, ich auch), sodass er aufgrund der Sprache und der mehreren Abstraktionsebenen von LangChain große Probleme bei der Implementierung der Funktion im Allgemeinen hatte.
Nach Abschluss dieses Labors habe ich gelernt, wie man Code auf Github überprüft, Pull-Anfragen ablehnt und genehmigt und wie man sie mit bestehenden Problemen verknüpft. Darüber hinaus hatte ich bereits Kenntnisse über alles, was wir getan haben.
Das obige ist der detaillierte Inhalt vonBeitrag zu einem anderen Repo. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!