僕らにもGithub Copilotがやってきた
はじめに
大AI時代の昨今ですが、弊社でも一部でGithub Copilotが導入されたので自分なりのおすすめの使い方について書き連ねておこうと思います。
私の所属するチームはRuby(Rails)をメインで使用しているため、Rubyに寄った内容になります。
利用環境
- RubyMine(Plugin: Github Copilot)
- プラグインを導入するだけなので1分で設定できました
- vimでもVScodeでも動きます
便利な使い方
何も意識せずに書いているときにサジェストしてくれるコードですら、めちゃくちゃ賢いなと感じます。
以下に記載するように、意識的にCopilotを使おうとすると格段に便利さを享受出来るのでおすすめです。
テストコードの生成
私はこれがRuby(Rails)環境においてCopilotを使う最大のメリットじゃないかと感じでいます。
describeを書くだけでそれっぽいコードを生成してくれます。
一つのテストケースができれば、それに倣って次のscopeでも同様のテストをしてくれます。
既存のコードを横展開出来る場合はより精度も高そうです。
コメントからコードを生成
一番ポピュラーな使い方だと思います。コメントからコードを生成してくれます。
例えば、modelでscopeを定義したいときはこんな感じです。
ちょっと微妙な気がするので採用するかはさておき、気を利かせてupdateメソッドまでサジェストしてくれますね。
私の場合は「◯◯する正規表現ってどう書けば良かったっけな〜」みたいなシチュエーションで重宝してます。
ここで生成してくれたコードをirbでサクッと検証してから使うようにしています。
破壊的メソッドか否かも、どうコメントしてあげるかで変わりそうです。
docの生成
YARD形式のdocも生成してくれます。
tabを数回押すだけでここまでdocを生成してくれます。
ちょっとイマイチなところ
rubocopに指摘されるコードを生成することもしばしば。
このコードだと...
おわりに
Github Coplilotをうまく活用することで、かなり効率的にコードが書けるようになりました。ChatGPTもヘビーに活用していますが、もうAIなしの生活は考えられません。
しかし、Github Copilotはあくまで副操縦士であり、最終的には自分の知識と判断が大切ですね。
Github Copilotで良きDeveloper Experienceを!
NE株式会社のエンジニアを中心に更新していくPublicationです。 NEでは、「コマースに熱狂を。」をパーパスに掲げ、ECやその周辺領域の事業に取り組んでいます。 Homepage: ne-inc.jp/
Discussion