heydeer
GitHub 上のレビュー

レビューの読み方

GitHub と HeyDeer で、HeyDeer のレビューの各部分が何を意味するかを説明します。

HeyDeer が投稿する内容

HeyDeer は指摘事項を GitHub のプルリクエストレビューとして投稿し、各指摘事項が対象とする行にインラインコメントを付けます。

レビュー本文の冒頭には結果が示され、引き続き対応が必要な以前の問題へのリンクがあります。末尾には折りたたまれたこのレビューについてセクションがあり、レビューの要約、リスクレベル、レビューの深さ、開始方法、HeyDeer で表示リンクと設定リンクが含まれます。

本文には、レビューの注意事項、要確認の質問、インラインに付けられない指摘事項も含まれます。GitHub ではインラインコメントを差分内の行にしか付けられないため、変更によって壊れる未変更の呼び出し元など、それ以外のコードに関する指摘事項はその他の指摘事項に記載されます。

レポート全体は、HeyDeer Review チェックと HeyDeer のレビューページで確認できます。レビューが長すぎて 1 つの GitHub コメントに収まらない場合、残りはレポート全体に含まれます。

HeyDeer がプルリクエストを承認するのは自動承認がオンの場合だけです。

PR にレビューコメントを投稿がオフの場合、レビューはチェックにのみ表示されます。結果の公開を参照してください。

HeyDeer は、投稿するすべての内容をリポジトリのレビューの言語で書きます。

指摘事項の構成

src/sync/retry.ts
18for (let attempt = 1; ; attempt++) {
19 const res = await fetch(url);
20 if (res.ok) return res;
21 await sleep(backoff(attempt));
heydeerbot
🟠 高(信頼性):404 のときにリトライのループが止まらない
fetchWithRetry() は、何度試しても成功しない 404 を含め、失敗したレスポンスをすべてリトライするため、同期ジョブがタイムアウトするまでループし続けます。
変更案
- if (res.ok) return res;
+ if (res.ok) return res;
+ if (res.status < 500 && res.status !== 429) throw new HttpError(res);
詳しく見る
修正案: リトライはサーバーエラーと 429 レスポンスに限定し、それ以外のクライアントエラーでは例外をスローします。
HeyDeer で修正
部分表示内容
見出し深刻度、カテゴリ、タイトル。例:「🟠 高(信頼性):404 のときにリトライのループが止まらない」
説明何が問題で、どのような影響があるか。
変更案コメントが置き換え対象の行にあるときに表示される、そのままコミットできる変更。
詳しく見る折りたたみ:原因、修正案、ここではコミットできない変更の読み取り専用 diff、指摘したリポジトリのチェック。
該当コードコメントが対象の行に付いていない場合の、その行へのリンク。

深刻度(緊急、高、中、低)は、指摘事項の影響の大きさです。これは、指摘事項が実在することを HeyDeer がどれだけ確信しているかを表す確信度とは別のものです。投稿する指摘事項を減らしたり増やしたりするには、この 2 つを組み合わせたフィードバックの範囲を変更します。

レビューしてマージできる別の PR で HeyDeer に変更を加えさせるには、HeyDeer で修正を使います。

カテゴリ

カテゴリは指摘事項が何を損なうかを示し、深刻度とは別です。複数に当てはまる場合、HeyDeer はこの表で最初に当てはまるものを選びます。

カテゴリ損なうもの
セキュリティ本来できない操作や閲覧ができてしまう。
正確性通常の使用で誤った結果になる。
信頼性エラー、並行処理、高負荷、リトライ、部分的な障害の下で失敗する。
パフォーマンス時間やリソースを使いすぎる。
保守性失敗はしないが、コードの変更、テスト、読解が難しくなる。

レビューの注意事項

何らかの理由でレビューが制限された場合、HeyDeer はレビュー本文のレビューの注意事項、チェックの要約、レビューページでその内容を説明します。

注意事項対処方法
一部の指摘事項が省略されましたレビューでは、確信度と深刻度に基づいて優先度の高い指摘事項だけが残されます。表示された指摘事項を修正するか見送ってから、もう一度レビューを依頼してください。
該当するリポジトリのチェックが多すぎますHeyDeer は該当するチェックをファイル名順に適用し、残りはスキップします。チェックのファイルパターンを絞り込んでから、もう一度レビューを依頼してください。
一部のリポジトリのチェックが無効ですHeyDeer は無効なチェックをスキップし、その名前を示します。修正してから、もう一度レビューを依頼してください。
一部のリポジトリのチェックを完了できませんでしたもう一度レビューを依頼します。
一部の指摘事項または以前の問題を十分に評価できませんでした完全な結果を得るには、もう一度レビューを依頼してください。

レビューの注意事項があるレビューは不完全なものとして扱われるため、HeyDeer は承認せず、チェックも成功を報告しません。

レビューの注意事項について詳しくは、トラブルシューティングを参照してください。

ウォークスルー

GitHub 上のレビューには、HeyDeer で修正の隣にウォークスルーボタンがあります。押すと HeyDeer でウォークスルーが開き、関連する変更をまとめ、重要な変更を強調して示します。各グループは何を確認すべきかを述べ、レビュー対象コミット時点のコードを表示します。

関連するグループは同じタブにまとめられます。ブラウザ、サーバー、データベースなど、システムの複数の部分にまたがる変更のタブには、先頭に図があります。図はそれらの部分のつながり、またはその間で起きる手順を順番に示します。図を選択すると拡大できます。

各グループには必読、推奨、流し読みのいずれかの印が付きます。テスト、ドキュメント、繰り返しの編集など本筋から外れた変更は、理由とともにその他に列挙されます。レビューが除外した生成ファイルはその他の末尾に示され、同じ PR の後続レビューでは前回のレビュー以降に変更されたグループに印が付きます。

ウォークスルーは変更を説明するもので、指摘事項の一覧ではありません。HeyDeer のレビューページでもウォークスルーから開けます。レビュールールのウォークスルーでオフにできます。

ファイルの確認済みにチェックを入れると折りたたまれます。ファイルのすべての部分にチェックが入ると、HeyDeer は GitHub でもそのファイルを確認済みにします。ファイルが変更されると、GitHub はその印を解除します。

HeyDeer でのレビュー

すべてのレビューには HeyDeer 上のページがあります。レビュー履歴、チェックの Details リンク、またはレビュー本文のHeyDeer で表示から開けます。

レビューページには、開始方法と、新しい変更とPR 全体のどちらを対象にしたかが表示されます。また、フィードバックの範囲内のすべての指摘事項と、議論で見送られた懸念に含まれる懸念も一覧表示されます。

レビューの実行中は、レビューの進捗に各段階と各レビュアーの作業内容が表示されます。終了後は、折りたたまれたレビューの経過パネルに、各段階、レビューにかかった時間、各レビュアーが行ったことが残ります。

別のフィードバックの範囲で残る指摘事項が異なる場合は、何も変更せずにプレビューできます。指摘事項の横で範囲を選ぶか、指摘事項のない結果の下でプレビューを選択してください。書き込み権限を持つ人はレビューをキャンセルでレビューを停止できますが、すでに使用したクレジットは返還されません。