Heim  >  Artikel  >  Web-Frontend  >  Umgang mit Problemen

Umgang mit Problemen

DDD
DDDOriginal
2024-09-14 10:16:03852Durchsuche

Dealing with issues

Ich habe „explainer.js“ erstellt, ein CLI-Tool zum Verarbeiten einer Datei und zum Ausgeben der Codeblöcke zusammen mit der Erklärung. Also etwas, das hilfreich sein kann, wenn Sie keine Ahnung haben, was in einer Datei vor sich geht.
Gebaut mit Commander.js und Groq SDK!
Schauen Sie es sich an unter https://github.com/aamfahim/explainer.js

Sofortige Antwort

Für die Codeüberprüfung nutzten mein Partner @sych_andrii alias Andrii und ich die Discord-Call-Funktion. Normalerweise bevorzuge ich für Codeüberprüfungen den Synchronisierungsansatz. Wenn Sie auf einen Videoanruf und eine Bildschirmfreigabe zugreifen und diese live durchführen, können Sie den Prozess beschleunigen, anstatt ihn asynchron in einem Git-Problem durchzuführen. Asynchron kann zwar auch sinnvoll sein, wenn es viele Details gibt, aber das ist selten der Fall. Wenn möglich, mache ich es also lieber synchron.

Nicht unser erstes Rodeo

Wir sind beide sehr vertraut mit der Codeüberprüfung. Wir haben beide den Code des anderen überprüft. Ich denke, der Rezensionsteil war viel einfacher, da wir uns schon vorher kannten.

Ich mache zuerst deins, dann machst du meins

Wie der Titel schon sagt. Mein Partner hat zuerst meinen Code überprüft. Da die meisten meiner Probleme mit README.md zu tun hatten, hatte er viele Fragen. Und ich lasse ihn mein Werkzeug benutzen. Wie er wollte, bestand das anfängliche Problem darin, dass er versuchte, den OpenAI-API-Schlüssel zu verwenden, aber Groq gab Fehler aus. Also haben wir es mit dem von Groq generierten API-Schlüssel versucht und es hat funktioniert. Dann haben wir die OpenAI-Basis-URL ausprobiert, die (technisch) funktionierte, aber die Antwort zeigte an, dass die angegebene Basis-URL nicht korrekt war. Dann haben wir verschiedene Modelle ausprobiert und festgestellt, dass wir nur von Groq unterstützte Modelle verwenden können.

Dies sind die Probleme, die er in meinem Repo eingereicht hat

Auf meinem Repo eingereichte Probleme

  1. https://github.com/aamfahim/explainer.js/issues/9 README.md wurde in Eile erstellt, daher enthielt es viele genaue Informationen und war an einigen Stellen auch falsch.
  2. https://github.com/aamfahim/explainer.js/issues/10 Andrii hat versucht, das gpt-4o-Modell zu verwenden, aber ich glaube nicht, dass Groq das unterstützt. Dann haben wir ein unterstütztes Modell zur Inhaltssicherheit ausprobiert, das ihm die Ergebnisse zu diesem Problem lieferte. Daher musste ich die Einschränkungen auch in README.md erwähnen.
  3. https://github.com/aamfahim/explainer.js/issues/11 Das --outout wurde noch nicht implementiert, befand sich aber in der README.md- und Hilfebeschreibung.
  4. https://github.com/aamfahim/explainer.js/issues/12 -t Flag wurde nicht richtig analysiert
  5. https://github.com/aamfahim/explainer.js/issues/13 In der Beschreibung war nicht klar, dass das erwartete Argument der Dateipfad war.

WSL oder Powershell?

Danach war ich an der Reihe, eine Rezension zu schreiben. Die erste Straßensperre war die Installation. Anfangs habe ich mein Standardterminal WSL mit Ubuntu als Distribution verwendet. Und ich bin ehrlich, ich benutze Python nicht oft und meine Version war ziemlich alt. Und ich kann mich nicht einmal erinnern, Python installiert zu haben. Aufgrund der Version konnte ich also keine Abhängigkeiten installieren und meine Version aus irgendeinem Grund nicht aktualisieren. Also bin ich auf cmd umgestiegen und weiß, dass ich Python auf meinem Windows-Laptop installiert habe. Ich musste also „cmd“ verwenden, aber das Problem war, dass ich nach jedem Befehl „--python version“ erwähnen musste. Und dazu musste ich auch den Dateipfad übergeben, der irgendwo im Dateiverzeichnis lag. Nachdem ich das Setup durchgeführt hatte, war es ziemlich gut. Ich habe keine Fehler gefunden, aber ich habe Feedback zur Readme-Struktur gegeben. Außerdem habe ich um .env-Unterstützung gebeten, da ich zum Ausführen des Tools jedes Mal den API-Schlüssel kopieren und einfügen musste, was ziemlich mühsam war. Er hat es auch in Python gemacht. Was für ein Verrückter!

Auf Andriis Repo eingereichte Probleme

  1. https://github.com/SychAndrii/infusion/issues/8 Ich fand README.md etwas schwierig zu befolgen, deshalb habe ich einige Empfehlungen hinzugefügt.
  2. https://github.com/SychAndrii/infusion/issues/9 Habe eine .env-Unterstützung angefordert, damit ich die API nicht jedes Mal einfügen muss, wenn ich sie verwende.
  3. https://github.com/SychAndrii/infusion/issues/10 Ein bestimmter Teil des Hilfebereichs musste etwas überarbeitet werden.
  4. https://github.com/SychAndrii/infusion/issues/11 Wenn die Datei nicht verwandten Inhalt hat, wird manchmal ein Fehler ausgegeben, manchmal aber auch nicht.

Wurde alles behoben?

Ich habe alle meine Probleme behoben. Es hat nicht viel Zeit in Anspruch genommen, da die Probleme ziemlich einfach waren. Der größte Teil der Arbeit bestand darin, die commander.js-Dokumente durchzugehen. Habe zwischendurch auch einige Umgestaltungen vorgenommen.

Was haben Sie durch den Test- und Überprüfungsprozess gelernt?

Gelernte Lektionen

Manchmal verliert man sich beim Entwickeln leicht in der Soße. Ich war so darauf konzentriert, den Code sauberer zu machen, dass ich als zweiten Gedanken an README.md dachte. Ich denke, neben dem Code sollte auch der Dokumentation die gleiche Bedeutung beigemessen werden. Außerdem macht die Verwendung von Pure JS in Node mit ESM KEINEN Spaß. Ich habe eine Menge Dinge über reines JS gelernt, die ich nie wusste oder vergessen habe, z. B. + ist eine Abkürzung für die Konvertierung von „Sting“ in entsprechende Datentypen und Argumente sind in Pfeilmethoden nicht verfügbar. Und ich stimme diesem Kommentar voll und ganz zu.

Das obige ist der detaillierte Inhalt vonUmgang mit Problemen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn