1. ninjinkunの声日記
  2. AIが書いたコードをレビューし..
2024-06-12 08:23

AIが書いたコードをレビューしてイラっとした話

2 Comments

AIが書いたコードをコードレビューしてイラっとした話と、その後それをどう受け入れたかについて話します。

サマリー

AIが書いたコードをレビューしていると、イライラします。

初めてのコードレビュー
こんにちは、ninjinkunです。 今日は、AIとコーディングで考えたことがあったので、それについて話そうと思ったんです。
きっかけは、この前、同僚からコードレビューを依頼されて、
コードレビューというのは、プログラムを第三者に見てもらって、
われわれのコードに対して、ちゃんと変更を反映していいものかを検査してもらうというプロセスです。
コードレビューを依頼されて、見ていったら、以前、こう書くというふうに合意したことが守られていないとか、
そういうのがちょこちょこ散見されて、それについてコメントを捨てて回ってたんですけど、
その後で、ちょっと同僚との会話から、
ああ、それ多分、AIが書いたんだよねって言われて、
でですね、あの、AIですね。
で、その場では特に何も言わなかったんですけど、
後から若干イラッとしてるなってことに気づきまして、
AIのコードをなんか僕がレビューして、なんか直すのを指摘してたのかと思うとですね、
あの、何でしょうね、多少のイラッと感が出るなということがわかりまして、
えー、何でしょうね、面白いですよね。
同僚だったらなんか許せるけど、AIだとなんか許せないっていう。
ただ、えっと、そういうふうにでもイラッとした後で、あの、思ったんですけど、
まあ今後もこういうことはめっちゃあるだろうなと、
どんどん僕らのプログラミングの方にAIは進出してきてますので、
AIが書いたコードをレビューしたり、逆に自分がAIにコードを書かせると、
AIを使ったコーディングへの対応
まあすでにある程度やってますし、まあどんどん今後も増えていくだろうということで、
まあこの問題は何でしょうね、受け入れるべきことかなというふうに思いました。
で、あとですね、あの、振り返ってみるとですね、振り返ってというか、
今の自分が主にメンテしているコード、コードベースは、
今後はこの書き方でいきましょうというふうに合意したコードと、後のコードと、
その前のコードも古い書き方で書いたコードも両方混在してたので、
AIはまあ多分その時はおそらくチャットGPTかなんかで生成してもらったコードなのかな、
を多分貼っていて、でも今後AIはちゃんと実際のコード、今あるコードを全部読んで、
それの内容を反映して、このルールで書いたらいいんだなということをやってくれるようになっていくと思うんですけど、
というか既になっているかもしれないですね、特にGitHubコバイルとか使っていると。
という時に古いコードが混じっていると、そのAIが多分勘違いするし、
あとは、たとえそのAIがそういうふうに書いてきたとしても、
その古い書き方をできないようにルールで検出しておけばいいなというふうに思ったので、
これって小人数だと、1人とかで書いているとあんまりこういうルールっていらないですけど、
人数が増えてくるとこういうルールで縛るということが必要になってきますので、
特にプログラマーはベーシックな書き方に関してはLintというツールでスタイルを規定することができるので、
もしその相手がそれを逸脱した書き方をすると、そのLintというツールが怒ってくれるというふうになっていますので、
これはLintの方を鍛えるのがアプローチとしては良かろうと思って、
今までサボっていたLint周りをもうちょっと整備して、
もともと多少は入っていたんですけど、そういう古い書き方を禁止するルールを追加し、
さらに古いやり方で書かれていたコードはLintの自動修復機能で新しい方式にバッと変換して、
今それをこういうふうにしましたというのを変更を投げているというところですね。
なので思ったのは、AIを使ったコーディングというのは今後もどんどん増えていくので、
いちいちそれにイラッとするよりは受け入れるべきかなということと、
あとはそういうことを前提で、例えば自分たちのスタイルから一脱したコードにならないような仕組みを用意したり、
それに一貫性を持ったコードベースを維持していくべきかなというふうに思ったということですね。
なのでこういうのって、例えばチームにちょっとジュニアな人が、
ジュニアエンジニアが加わった時とかにはこういうことをきっちり整備したりして、
いちいち指摘というかこうするんだよって手取り足取りをしなくても、
ある程度いいように自動化しておくっていうのが多分いいプラクティスだと思うんですけど、
そのAIは新しいジュニアエンジニアとしてチームに加わってくるものだなっていう前提で、
今後は考えていこうかなと思います。
ITの世界の人たちって、人が動くことに関するルールの追加は嫌がるんですよね。
例えば、自分が昔山手線でMacを一回紛失したことがあって、
その後出てきたんですけど、その時に偉い人に、
こういうことするとルール追加しなくちゃいけなくなるから気をつけてねって言われて、
なるほど、ルール追加を基本避けるんだなっていう、
もっと会社が例えば上場するとかすると、
必然的に良くあるルールが追加されると思うんですけど、
できるだけ人の動き方を縛るようなルールとかは追加しないっていうのが、
なんとなくIT会社にはありがちだと思うんですけど、
一方で自動化できることのルール、
例えばさっきのLinterみたいなプログラムのスタイルを縛るのを、
人じゃなくて機械が起こってくれるような仕組みがある場合は、
こういうものは積極的に追加するっていう傾向があるなと思って、
人は緩く、機械で活かできることは厳しくっていうことで、
そういうベクトルがあるなというふうになんとなく思いました。
はい、というわけで今日はAIが書いたコードにイラっとした話、
コードをレビューしたらイラっとした話と、
でもそこからそれを受け入れることにした話でした。
ありがとうございました。
08:23

コメント

AIとの働き方について考察が得られたのでヨシ!

スクロール