AI時代のVBAの書き方
ChatGPTの登場以降、プログラムを1から全部自分で作るのではなく大半をAIに書かせる人が増えてきたと思います。
これはVBAにおいても同じ状況です。
本職プログラマーではなく、メインの業務領域も持つ以上、VBAの開発時間が短くなるのは喜ばしいことだと思います。
そのため、VBAの開発ではAIがどんどん活用されていくでしょう。
さて、これまで10年以上VBAを書いてきた中で、可読性や開発速度を上げるためにいろいろな工夫をしてきました。
(変数名の工夫やプロシージャ、モジュールの分割など様々な手法を取り入れてきました)
しかし、AIの登場によってこの中にかえって使わない方が良くなったテクニックが増えてきたとも感じています。
今回は、その辺のもう避けたほうが良いテクニックが何かを紹介していきたいと思います。
プロシージャは長くてもいい
これまでコーディング中の読み返しや、後からの修正に備えて、できるだけ行数が少なくなるように書くことを心がけていました。
1つのプロシージャが1つの目的を果たすように、プロシージャを分割していました。例えばインプット、内部の計算、アウトプットといったようにプロシージャを分けていました。
しかし、AIの登場以降、この心がけはもう不要だと感じています。
なぜなら、読み返す必要が出てきたときには、AIに読み込ませて内容を要約してもらえばいいからです。
それにAIにプログラムを書かせると、コメントも、変数名もわかりやすいものをつけてくれるため、読み返す負担自体も少なくなりました。
そのため、1つのプロシージャが長くなっても構わないだろうと感じています。AI自体もプロシージャを分割せずに回答してくることのが多いです。
ネストが深くなってもいい
VBAでは ForやIfの組み合わせでネストが深くなりがちです。
ネストが深くなると、極端に可読性が落ちるので、ネストが浅くなるようにかなり工夫をしてきました。例えば、 Forの中身の処理を別のプロシージャにまとめることが多かったです。
しかし、AI時代ではもうこの考え方は古いのかもしれません。
先程のプロシージャと似ているのですが、ネストが深くなったとしても、読み返すときにAIを要約させれば困らなく減ってきました。
視線が左右に動くので、自分の目で確認するにはちょっと億劫にはなりますが、もうあまり気にしなくていいのかもしれません。
ざっくりですが、3つ位のネストならばもう気にしなくて良い気がします。(これまでは2つを超えるネストは避けていました)
最後に
AIだってプログラムだってどちらも道具に過ぎません。道具をうまく活用して、良い人生を歩みましょう。