Maison  >  Article  >  développement back-end  >  Contribuer à un autre dépôt

Contribuer à un autre dépôt

Barbara Streisand
Barbara Streisandoriginal
2024-09-21 08:15:391093parcourir

Contributing to another repo

Depuis le début de ce mois, j'ai travaillé dur sur le cours Open Source que j'ai suivi à Seneca Polytechnic, et l'un des laboratoires que nous avons eu consistait à créer une pull request afin le dépôt de quelqu'un d'autre et approuvez une pull request vers votre propre dépôt, c'est donc ce dont je vais parler.

Je vais commencer par une pull request que j'ai créée pour un problème. Le problème était d'ajouter le support d'un indicateur, qui permet de voir combien de tokens ont été utilisés en requête et en réponse :
https://github.com/aamfahim/explainer.js/issues/22

Le processus de mise en œuvre de cette fonctionnalité était assez simple. J'ai dû créer un fork dans le référentiel d'origine, valider et transférer les modifications vers une nouvelle branche, puis créer une pull request de la branche de mon fork vers la branche principale du dépôt d'origine :
https://github.com/aamfahim/explainer.js/pull/23

La mise en œuvre a été assez simple, compte tenu du fait que j'utilise node.js depuis un bon moment et que mon coéquipier n'a pas beaucoup d'exigences strictes compte tenu de la façon dont j'écris du code. Après avoir examiné mon code, il m'a demandé de modifier les noms des variables pour qu'elles soient plus descriptives, mais c'était tout : les modifications étaient assez simples et directes.

Maintenant, mon partenaire a eu beaucoup de mal à implémenter le problème dans mon référentiel :
https://github.com/SychAndrii/infusion/issues/20

Avec sa pull request :
https://github.com/SychAndrii/infusion/pull/21

Comme vous pouvez le constater, l'historique des révisions et des modifications demandées est beaucoup plus long que la première pull request. La façon dont mon coéquipier (dont j'apprécie le problème, soit dit en passant) a écrit du code la première fois impliquait la création d'une fonction qui n'exécutait son code que si le deuxième paramètre était True, j'ai donc décidé que ce n'était pas une approche très propre et lui ai demandé de refaire-le. Au lieu de construire l'objet chaîne de Langchain en utilisant une fonction qui parfois ne fait rien, je lui ai demandé de construire cet objet de manière conditionnelle, mais avec une fonction, toujours utile. De plus, mon coéquipier a beaucoup de mal à gérer le langage Python (moi aussi, pour être honnête), il a donc eu beaucoup de mal à implémenter la fonctionnalité en général, à cause du langage et des multiples couches d'abstractions de LangChain.

Après avoir terminé cet atelier, j'ai appris à réviser le code sur github, à rejeter les pull request et à les approuver, et à les lier aux problèmes existants. En plus de cela, je connaissais déjà tout ce que nous faisions.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Infusion v.0Article suivant:Infusion v.0