GitHub Copilotを使ってみた所感
数日ほど話題の GitHub Copilot を使ってみたので、その感想などです。
長期間使った後に追記するかもしれません。
使い方は簡単
VSCode なら以下の拡張機能を入れてから、右下の通知から連携するだけです。
予め Billing and Plans > Payment information から支払い方法など登録していない場合は、連携時に入力を求められるので入力してください。
https://scrapbox.io/files/660a89abfe23ca002602e4cd.png
VSCode だけでなく、Neovim(vim)でも使用できる!!!!
見え方は画像みたいに、何かしら入力した後に薄く Copilot による補完がでます。Tab を押すと確定です。
https://scrapbox.io/files/660a8b4f318254002433c359.png
良かった点
同じようなコードを書く必要がある時に入力の手間が省ける。(これは通常の補完の延長線上の感覚)
何を書くか分かりきったようなコード(例えば Repository の Mock クラスなど)は非常に優秀に補完してくれ、時短になる。
簡単なロジックであれば正確にコーディングしてくれる。
日本語でコメントを書かずとも、変数名や関数名などの命名がしっかりしているのであれば補完してくれる。
あまり精度が良くない気がするが、ドキュメント(日本語)の補完もしてくれる。
良くなかった点
当然のように普段の補完と競合する。当たり前と言えば当たり前だけど、せっかく Copilot のほうが良いコードを補完してくれるのに一旦普通の補完を確定させるか消すかしないといけない。(設定で何とかなるのかな?)
複雑なロジックの実装の補完は厳しい。Tab だけ押していたら完成とはなりづらく、日本語でも詳細に丁寧に書かないと上手く補完してくれない(この辺は ChatGPT でもそう)
書く量の多いコードを補完してくれる時にレスポンスまで 2 ~ 5 秒くらいかかるので、自分がタイピングを続ける限り補完が出ない。止まらないでタイピングできる人かつ簡単な内容であれば、わざわざ待機する時間が発生することになる。おおよそ正しいレスポンスなのでプラスではあると思う。
良くも悪くも、自分が既に書いたコードを引っ張ってきがち。
新しい技術はネットに情報が少ないので、必然的に精度が悪くなりがちかも?
総評
想像していたより、かなり優秀だと感じました。
ネットでちょっと検索したら出てくるようなコードは簡単に補完してくれるし、何を書くかわかりきったような部分も綺麗に補完してくれます。
全体的にタイピングの量が減るので、生産性向上には間違いなく繋がると思いました。
変数名や関数名などの命名をしっかりするための訓練にもなるので、初学者には一層おすすめかもしれません。
ほんと命名ちゃんとしよう
コードの補完でそれなりの量がいっきに入力されるので、これを修正するときにマウスでカチカチしてると思うとゾッとしますね。 Vim 使って編集速度を上げることがますます重要になってくるんじゃないかな