前書き
私はOpenFrontIOというRTSゲームでいくつかPRを出してきましたが、その中でCodeRabbitを使用する機会がありました。
前提として、私は開発に関してはまだ初心者です。投稿に関しても同様です。
使用時の感想(良かった点)
まず、実際に使ってみて良かった点をいくつか挙げます。
- レビューを非常に高速で行ってくれる
- タイプミスや英語の使い方などの細かいミスも指摘してくれる
- 修正用のコミットを自動生成してくれる
レビューが早い
たとえば、人にレビューを依頼した場合、返信までに大体1〜5日ほどかかることが多いです。
(もっとも、私が他のリポジトリでの共同開発を経験していないため、これが一般的かどうかはわかりません。)
このように時間がかかると、自分の中で見逃していたミスや、他のPRと作業内容が重複してしまうといった問題が起きます。
もちろん、本来は自分で気づくべき点ではありますが、そのような単純な見落としにレビュアーの時間を割いてもらうのはもったいないとも感じます。
その点を踏まえれば、このような自動レビューをしてくれる仕組みは非常に助かります。
タイプミス(文法ミス)の指摘
コードに簡単な説明としてコメントを残すことはよくあると思います。
英語のリポジトリの場合は当然英語でコメントを書く必要がありますが、私は英語が得意な方ではないため、文法ミスをよくしてしまいます。
たとえば、三単現のsが抜けるといった初歩的なミスでも、PR全体として見ると意外と目立つものです。
そのような時、CodeRabbitは文法ミスや不自然な表現を自動で指摘してくれるため、とても助かっています。
こんな基本的なことでレビュアーの方に余計な負担をかけたくない、という気持ちもあるので、この機能は特にありがたいです。(コードレビューとは関係ないと思いますが)
修正用のコミットを自動生成してくれる
本来であれば、自分で修正点をまとめてコミットするのが望ましいのかもしれません。
ですが、iPadでレビュー内容をチェックしている時など、環境によっては細かい修正を手動で行うのが大変なこともあります。
CodeRabbitは指摘内容に対してそのまま適用できる修正コミットを自動生成してくれるため、こうした場面では特に便利でした。
ちょっとした修正であれば、PCを開かずに対応できるのは助かります。
使用時の感想(悪かった点)
次に、悪かった点をいくつか挙げます。と言っても、数は少ない、というかそもそも一個しかないのですが。
- レビューの繰り返しが発生する
レビューの繰り返し
CodeRabbitからレビューをもらい、修正しない理由をコメントで説明し、その上で別の箇所を修正してコミットを追加すると、同じ場所に再びレビューコメントが付いてしまい、Change Requestが再度送られることがあります。
もし両方ともCodeRabbitのレビューであればまだ理解できます。しかし問題は、人間のメンテナーが既にレビューしてOKを出している部分に対して、CodeRabbitが再レビューしてしまうというケースがあることです。
人によるレビューとAIによるレビューの意図が競合してしまうと、PRの進行に少し支障が出ることもあるため、この点は改善されると嬉しいと感じました。
(そのせいなのかどうかは知りませんが、今はいなくなったメンテナーの人に「CodeRabbitの変更リクエストは全部無視して解決してほしい」と言われました。)
まとめ
CodeRabbitを使ってみて、レビューのスピードや英語表現の指摘、そして修正コミットの自動生成など、とても助かる点が多くありました。
一方で、AIによる自動レビューと人間のレビューがぶつかってしまうケースもあり、改善されればもっと使いやすくなると感じています。
全体としては「PRの負担をかなり軽減してくれる便利なツール」という印象でした。
特に私のようにまだ経験の浅い開発者にとっては、学習の機会としても非常に価値があると思います。
今後さらに洗練されていくことに期待しています。
初投稿のものを最後まで読んでいただきありがとうございました。
(投稿の日付がずれていますが初めて書いた記事です。カレンダーに沿ったためずれました。)