ホームページ  >  記事  >  ウェブフロントエンド  >  問題への対処

問題への対処

DDD
DDDオリジナル
2024-09-14 10:16:03853ブラウズ

Dealing with issues

ファイルを処理し、説明とともにコードブロックを出力する CLI ツール、explainer.js を作成しました。ファイル内で何が起こっているのか全く分からない場合に役立つものです。
Commander.js と Groq SDK を使用して構築されました!
@ https://github.com/aamfahim/explainer.js

をチェックしてください。

即時応答

コードレビューのために、私のパートナーである @sych_andrii 別名 Andrii と私は discord 通話機能を使用しました。通常、コードレビューでは同期アプローチを好みます。ビデオ通話や画面共有に飛び乗ってライブで実行すると、git issue で非同期に実行するよりもプロセスを迅速に追跡できます。多くの詳細情報がある場合には非同期も実行可能ですが、そのような場合はほとんどありません。したがって、可能であれば、同期的に実行することを好みます。

私たちのロデオは初めてではありません

私たちは二人ともコードレビューに精通しています。私たちは二人ともお互いのコードをレビューしました。事前にお互いのことを知っていたので、レビュー部分はずっと簡単だったと思います。

私が最初にあなたのことをします、あなたはその後に私のことをします

タイトルの通りです。私のパートナーが最初に私のコードをレビューしてくれました。私の問題のほとんどは README.md 関連だったので、彼はたくさんの質問をしました。そして私は彼に私の道具を使わせました。彼が望んでいたように、最初の問題は、彼が OpenAI API キーを使用しようとしていたのに、Groq がエラーをスローしていたことでした。そこで、Groq で生成された API キーを使用して試してみたところ、うまくいきました。次に、OpenAI ベース URL を試しましたが、これは (技術的には) 機能していましたが、応答は、提供されたベース URL が正しくないことを示していました。その後、さまざまなモデルを試してみたところ、Groq でサポートされているモデルのみを使用できることがわかりました。

これらは彼が私のリポジトリに提出した問題です

私のリポジトリに提出された問題

  1. https://github.com/aamfahim/explainer.js/issues/9 README.md は急いで作成したため正確でない情報が多く、一部間違っている箇所もありました。
  2. https://github.com/aamfahim/explainer.js/issues/10 Andrii は gpt-4o モデルを使用しようとしましたが、Groq がそれをサポートしているとは思いません。次に、コンテンツの安全性を目的としてサポートされているモデルを試し、この問題に関する出力を彼に提供しました。そのため、README.md にも制限事項について言及する必要がありました。
  3. https://github.com/aamfahim/explainer.js/issues/11 --outout はまだ実装されていませんが、README.md とヘルプの説明にありました。
  4. https://github.com/aamfahim/explainer.js/issues/12 -t フラグが適切に解析されていませんでした
  5. https://github.com/aamfahim/explainer.js/issues/13 期待される引数がファイルパスであることについての説明が明確ではありませんでした。

WSL か Powershell か?

それで、その後は私がレビューする番になりました。最初の障害は設置でした。当初、私はデフォルトのターミナルである WSL と Ubuntu をディストリビューションとして使用していました。正直に言うと、私は Python をあまり使用せず、バージョンもかなり古かったです。そして、Pythonをインストールしたことさえ覚えていません。そのため、バージョンが原因で依存関係をインストールできず、何らかの理由でバージョンを更新できませんでした。そこで cmd に切り替えたところ、Windows ラップトップに Python がインストールされていることがわかりました。そのため、cmd を使用する必要がありましたが、問題は、コマンドを実行するたびに --python version を指定する必要があることでした。そのためには、ファイル ディレクトリのどこかにあるファイル パスも渡す必要がありました。セットアップを実行すると、かなりうまくいきました。バグは見つかりませんでしたが、Readme の構造についてフィードバックがありました。また、ツールを実行するには毎回 API キーをコピーして貼り付ける必要があったため、.env のサポートもリクエストしました。これは少し面倒でした。また、彼はPythonでそれを行いました。なんとマッドラッドだ!

Andrii のリポジトリに提出された問題

  1. https://github.com/SychAndrii/infusion/issues/8 README.md は少しわかりにくいと感じたので、いくつかの推奨事項を追加しました。
  2. https://github.com/SychAndrii/infusion/issues/9 使用するたびに API を貼り付ける必要がないように、.env サポートをリクエストしました。
  3. https://github.com/SychAndrii/infusion/issues/10 ヘルプ セクションの特定の部分には少しリファクタリングが必要でした。
  4. https://github.com/SychAndrii/infusion/issues/11 ファイルに無関係なコンテンツが含まれている場合、エラーがスローされる場合とそうでない場合があります。

すべて修正されましたか?

すべての問題を解決しました。問題は非常に単純だったので、それほど時間はかかりませんでした。作業のほとんどは、commandor.js ドキュメントを参照することでした。途中でリファクタリングも行いました。

テストとレビューのプロセスを通じて何を学びましたか?

学んだ教訓

開発中にソースの中で迷子になってしまうことがあります。コードをよりきれいにすることに集中していたので、考え直して README.md を入れました。コードと同様にドキュメントも同様に重要視されるべきだと思います。また、ESM を備えた Node で Pure JS を使用するのは楽しくありません。 + は文字列を適切なデータ型に変換するための略記であり、引数はアローメソッドでは使用できません。など、これまで知らなかったり忘れていた純粋な JS について多くのことを学びました。そして、私はこのコメントに心から同意します。

以上が問題への対処の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。