Maison  >  Article  >  interface Web  >  Faire face aux problèmes

Faire face aux problèmes

DDD
DDDoriginal
2024-09-14 10:16:03991parcourir

Dealing with issues

J'ai créé expliquer.js, un outil CLI pour traiter un fichier et afficher les blocs de code avec des explications. Donc quelque chose qui peut être utile si vous n'avez aucune idée de ce qui se passe dans un fichier.
Construit à l'aide de Commander.js et du SDK Groq !
Découvrez-le @ https://github.com/aamfahim/explainer.js

Réponse instantanée

Pour revoir le code, mon partenaire @sych_andrii alias Andrii et moi avons utilisé la fonction d'appel Discord. Habituellement, pour les révisions de code, je préfère l'approche de synchronisation. Passer un appel vidéo et partager un écran et le faire en direct peut aider à accélérer le processus plutôt que de le faire de manière asynchrone dans un problème git. Bien que l’asynchrone puisse également être viable s’il y a beaucoup de détails, c’est rarement le cas. Donc, si possible, je préfère le faire de manière synchrone.

Pas notre premier rodéo

Nous sommes tous les deux très familiers avec la révision de code. Nous avons tous les deux examiné le code de chacun. Je pense que la partie révision était beaucoup plus facile puisque nous nous connaissions auparavant.

Je ferai le tien d'abord, tu feras le mien après

Comme le titre l’indique. Mon partenaire a d'abord examiné mon code. Comme la plupart de mes problèmes étaient liés à README.md, il avait beaucoup de questions. Et je l'ai laissé utiliser avec mon outil. Comme il le souhaitait, le problème initial était qu'il essayait d'utiliser la clé API OpenAI, mais Groq lançait des erreurs. Nous l'avons donc essayé avec la clé API générée par Groq et cela a fonctionné. Ensuite, nous avons essayé l'URL de base OpenAI qui fonctionnait (techniquement) mais la réponse indiquait que l'URL de base fournie n'était pas correcte. Ensuite, nous avons essayé différents modèles et découvert que nous ne pouvions utiliser que les modèles pris en charge par Groq.

Voici les problèmes qu'il a déposés sur mon dépôt

Problèmes déposés sur mon dépôt

  1. https://github.com/aamfahim/explainer.js/issues/9 README.md a été généré à la hâte, il contenait donc beaucoup d'informations précises et était également incorrect à certains endroits.
  2. https://github.com/aamfahim/explainer.js/issues/10 Andrii a essayé d'utiliser le modèle gpt-4o mais je ne pense pas que Groq le prenne en charge. Ensuite, nous avons essayé un modèle pris en charge pour la sécurité du contenu, ce qui lui a donné un résultat sur le problème. J'ai donc dû également mentionner les limitations du fichier README.md.
  3. https://github.com/aamfahim/explainer.js/issues/11 Le --outout n'a pas encore été implémenté mais il figurait dans le README.md et la description de l'aide.
  4. https://github.com/aamfahim/explainer.js/issues/12 -t l'indicateur n'était pas analysé correctement
  5. https://github.com/aamfahim/explainer.js/issues/13 La description n'était pas claire quant à l'argument attendu qui était le chemin du fichier.

WSL ou PowerShell ?

Donc, après ça, ce fut à mon tour de réviser. Le premier obstacle a été l’installation. Au départ, j'utilisais mon terminal par défaut, WSL avec Ubuntu comme distribution. Et je vais être honnête, je n'utilise pas beaucoup Python et ma version était assez ancienne. Et je ne me souviens même pas d'avoir installé Python. Donc, à cause de la version, je n'ai pas pu installer de dépendances et je n'ai pas pu mettre à jour ma version pour une raison quelconque. Je suis donc passé à cmd et je sais que Python est installé sur mon ordinateur portable Windows. J'ai donc dû utiliser cmd mais le problème était qu'après chaque commande, je devais mentionner la version --python. Et pour ce faire, je devais également transmettre le chemin du fichier qui se trouvait quelque part dans le répertoire des fichiers. Après avoir exécuté la configuration, c'était plutôt bien. Je n'ai trouvé aucun bug mais j'ai eu des retours sur la structure du readme. J'ai également demandé un support .env car pour exécuter l'outil, je devais copier-coller la clé API à chaque fois, ce qui était un peu fastidieux. Il l'a aussi fait en python. Quel fou !

Problèmes déposés sur le repo d'Andrii

  1. https://github.com/SychAndrii/infusion/issues/8 J'ai trouvé README.md un peu difficile à suivre, j'ai donc ajouté quelques recommandations.
  2. https://github.com/SychAndrii/infusion/issues/9 J'ai demandé un support .env pour ne pas avoir à coller l'API à chaque fois que je l'utilise.
  3. https://github.com/SychAndrii/infusion/issues/10 Une partie spécifique de la section d'aide nécessitait une légère refactorisation.
  4. https://github.com/SychAndrii/infusion/issues/11 Si le fichier a un contenu sans rapport, il générerait parfois une erreur, parfois non.

Est-ce que tout a été réglé ?

J'ai résolu tous mes problèmes. Cela n’a pas pris beaucoup de temps puisque les problèmes étaient assez simples. La majeure partie du travail passait par la documentation commander.js. J'ai également fait quelques refactorisations entre les deux.

Qu'avez-vous appris au cours du processus de test et de révision ?

Leçons apprises

Parfois, il est facile de se perdre dans la sauce en développant. J'étais tellement concentré sur la nécessité de rendre le code plus propre que j'ai mis README.md en guise de seconde réflexion. Je pense qu'avec le code, la documentation devrait également recevoir la même importance. De plus, utiliser Pure JS dans Node avec ESM n'est PAS amusant. J'ai appris beaucoup de choses sur le JS pur que je n'ai jamais connues ou oubliées, c'est un raccourci pour convertir sting en types de données appropriés et les arguments ne sont pas disponibles dans les méthodes fléchées. Et je suis tout à fait d'accord avec ce commentaire.

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