はじめに
こんにちは。私は現在の会社に入社して2年強のフロントエンドエンジニアです。
最近、別の新人エンジニアによって(会社の指示で)AIで作成されたHTMLとJavaScriptを私が社内コードレビューする機会がありました。
ですが、恥ずかしながらAIで書かれたコードをすべて目視で理解できたわけではなく、結局レビュアーの私もAIにレビューの大多数を頼らざるを得ませんでした。
一方で冷静に考えたところ、発想の転換によってコードレビューを学びに変えられると考えたため、
今回は雑記として文章にしてみようと思います。
想定している対象者
- コードレビューをする若手エンジニア
- レビュー時にAIに頼りきりになっている人(私含む)
- レビューにAIツールを使える人
①コードレビューは「AIが書いたコードから学びを得る」貴重な機会であること
今回のようにAIで書かれたコードのレビューは、つまり「AIのコードの中身に目を通す機会を与えられている」ということ。
それは、自分に馴染みがなかったり未知のロジックや記述にも向き合うことを指します。
現在はもはや私たち若手エンジニアよりAIの方が優秀なため、私たちが「独力で」書いたコードよりAIのコードの方が優れているはず。
なのでAIが書いたコードで知らない部分があったら、その場でメモに残したり調べることで自分の理解を深める機会になります。
②AIのコードレビュー結果からもなるべく多くの示唆を得ること
例えば自分の書いたコードをAIにレビューさせる場合、修正すべき場所に視点が行って理由の読解が疎かになりがちです。
同時にClaude Codeなどでは修正を自動で行ってくれることもあり、そういったケースではますます「なぜ修正が必要なのか」「何が問題か」といった内容の理解をせずとも実装できてしまうことがあります。
一方でコードレビューをする際は自分自身がコードを修正するわけではないため、 AIにレビューさせた場合でも「レビュー結果の妥当性とその吟味に集中できる」という利点があります。
そのためレビュー時にAIが挙げた問題点について深掘りできる可能性も高まると感じています。
③自分の感覚とAIのレビューとのずれに気づける
コードを目視(人力)で読解した場合に感じた違和感とAIが提示した修正点は必ずしも一致しないケースがあります。
それはAIが認識していない場合と、目視で感じた違和感は実は問題ではなかった(感じた違和感の方が違っていた)場合があります。
後者の場合はその違和感についてもAIに質問を投げかけることで、
自分の感覚が本当に合っているのか、合っていないならなぜ違うのかの認識合わせができるようになります。
最後に
ここまで読んでいただきありがとうございます。
AIによるコードをレビューすることが当たり前になった現代だからこそ、逆にAIのコードから学んでやろうとする姿勢が必要だと感じました。
