ハマログ

株式会社イーツー・インフォの社員ブログ

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本体にこれらの機能が統合されて欲しい。

  at   2023年4月24日


関連記事

PHPで良さげなREPLを探す。

開発してたり調べ物したりしてると簡単なコードを試してみたくなりたくなる時がありま…

キーブレークを使った集計とは何か

前回の記事に引続き、 キーブレークを使った集計とは何か、簡単な見本を使って説明し…

Pythonの環境構築(2)

前回は極めてお手軽にPythonの学習環境を構築してみました。 今回はpyenv…


← 前の投稿

次の投稿 →