
Be honest about that "I'll clean it up later" commentの意訳です。
機能を実装し終えて、テストも通り、PRも上がっています。1つだけ、やりすぎている関数があります。あの条件分岐はもう少し引き締められそうですし、ヘルパー関数にしたくなるような重複ブロックもあります。
でも、もう17時です。明日の朝会のメモを書かないといけないし、レビューすべきPRが2つ残っています。コード整理にはTODOをつけて、あとで手を入れようと自分に言い聞かせます。
その後どうなるかは、わかっているはずです。いつもそうです。
Simplify Codeとは
Simplify Codeは、PRで変更したファイルをレビューし、狙いを絞った改善を加えます。再利用可能な関数の抽出、条件分岐の簡素化、冗長なコードの除去などを、振る舞いを変えずに行います。コメント1つで、後回しにしがちなコード整理が本当に実行されます。
仕組み
プルリクエストのスレッドで @coderabbitai simplify とコメントするか、CodeRabbitのウォークスルーコメント内のSimplify codeチェックボックスにチェックを入れるかのいずれかで実行できます。
実行時に何が起きるか
具体的には以下のような流れで実行されます。
- サンドボックスへのクローン: CodeRabbitがリポジトリをサンドボックスにクローンし、PRブランチとベースブランチの差分を取って、変更されたファイルをすべて特定します。
- ピンポイントの編集: AIエージェントが変更された各ファイルを読み、狙いを絞った改善を加えます。ヘルパーの抽出、冗長なロジックの集約、条件分岐の整理などです(振る舞いは同じまま)。
- 検証: エージェントが既存のテストスイートを実行し、何も壊れていないことを確認します。
- 反映: 簡素化されたコードを新しいPRとして開くか、既存のブランチに直接コミットします。
PRのサイズによっては、全体の処理に最大20分ほどかかる場合があります。
Simplify Codeが手を出さないこと
コード整理の範囲にとどまり、以下のことは行いません。
- 公開APIの変更、エクスポートされたシンボルのリネーム
- テストアサーションの変更
- PRで変更されたファイル以外のコードのリファクタリング
変更後にテストスイートが失敗した場合でも、変更内容自体は提示されるため、内容を確認したうえで修正するか破棄するかを判断できます。
試してみましょう
CodeRabbitのSimplify Code機能は、Pro+プランのGitHubで利用可能です。
次にPRを出して「あとで戻ってきれいにしたい」と感じたら、TODOに書き留めるのではなく、コメントを書いてみてください。


