Github Copilot Labs
GitHub Copilotスゴイ
控えめに言って神。
最近「神」という言葉が形容詞として多用されてインフレしてしまったお陰で神という言葉では伝わらないかもしれない。
コメントを書いただけでソースコードの候補を次々と提示してくれるスゴイAI。私はタブキーをポチポチ押すだけでプログラムが出来上がる。
プログラミングがタブキーを押すだけの簡単なお仕事になりつつあり、在りし日の自分が必死になってアルゴリズムやデザインパターンを覚えていたのが塵のように感じる。(嘘。プログラミングわかってる人ほど使いこなせる機能だと思う)
でも今やEテレで子供相手にアルゴリズムを教える時代だもんな。しめじソートとか驚愕したもん。
俺の子供の頃はピンポンパン体操踊ってりゃ良かっただけなのに。
Github Copilot Labs
さて本題。
Github Copilot LabsはCopilotの新しい実験的な機能群。
公式サイトでもまだプロトタイプと位置づけられている。
今のところ機能は4つ。
1.コードの説明(EXPLAIN)
2.コードを別言語に変換(LANGUAGE TRANSLATION)
3.コードのブラッシュアップ(BUSHES)
4.テストコードの自動生成(TEST GENERATION)
何に使えるかというと既に出来上がっているシステムを保守するときに使えそう。
コードの説明機能を使って理解の手助けをしてもらい、テストコードを作成し、ブラッシュアップの機能でコードを読みやすくする。
他人の書いたコードというのは仕様も意図もわからない事は往々にしてありこれが省力化できるなら期待したい。
ちなみに公式のBrush機能の一例
使用前
function ascending(a, b) { return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; }
使用後
function ascending(a, b) { if (a == null || b == null) { return NaN; } else if (a < b) { return -1; } else if (a > b) { return 1; } else if (a >= b) { return 0; } else { return NaN; } }
「こんな三項演算子のカタマリみたいなコード書くやついないだろ!」という突っ込みが入りそうだがこんなの序ノ口、序二段ぐらいなものだ。
現実にはもっと酷いコードが世界中で跳梁跋扈しているのでGitHub Copilot本体にこれらの機能が統合されて欲しい。