プログラミング: GitHub Copilotの利用感想

この記事では、執筆時点でのGitHub Copilotを実際に使用してみた感想をまとめます。

GitHub Copilotでできること

GitHub Copilotでできることをいくつか紹介します。

  1. コメントを基にしたコード生成
    コメントで実現したい処理を説明すると、それに基づいてコードを生成してくれます。たとえば、使用したいパッケージを指定することで、そのパッケージを利用したコードを提案してくれます。

  2. コメントのサジェスト機能
    書きかけのコメントに対して、続きの文章を提案してくれる機能です。全部を自分で書く必要はなく、途中までのコメントで十分です。

  3. 静的コード解析エラーの修正提案
    通常の静的コード解析ツールでは対応できないエラーに対しても、修正案を提示してくれます。

  4. テストモジュールの生成
    テスト対象のモジュールファイルを解析し、網羅的なテストケースを提案してくれます。

  5. リファクタリング支援
    読みやすく、保守しやすいコードの提案だけでなく、その提案の理由や修正の観点まで示してくれます。

  6. コミットメッセージの提案
    Gitへのコミットメッセージも、対象ファイルの内容に基づいて適切なものを提案してくれます。これにより、他の開発者にもわかりやすいメッセージが生成されます。

  7. パッケージの使い方やサンプルコードの提供
    チャット形式で、特定のパッケージについて質問すると、特定のパッケージの使い方やそのサンプルコードも即座に回答してくれます。Web検索よりも効率的に情報を取得できます。

GitHub Copilotを使う上での注意点

GitHub Copilotは万能ではなく、利用者のサポートが不可欠です。利用者側で注意が必要な点もいくつかあります。

  1. コードの精査
    提案されたコードが必ずしも正しいとは限りません。あくまで「提案」であり、動作の正確性を確認するためには、利用者自身でコードを精査する必要があります。

  2. 複雑な処理の分解
    複雑な処理を一度に説明すると、期待通りのコードが生成されないことがあります。そのため、処理を段階的に分解し、少しずつ説明することで、より適切な提案を得ることができます。

  3. テストモジュールの精査
    提案されたテストコードはそのままでは動作しない場合が多いです。入力値や期待値を確認し、動作するように修正する必要があります。

  4. リファクタリング後の検証
    リファクタリングされたコードが、元のコードと同じ処理を行っているかは確認が必要です。リファクタリング前にテストを行い、変更後も同じテストが通るか検証することが重要です。

  5. パッケージのバージョンに注意
    特定のパッケージの使い方を尋ねる際、異なるバージョンの情報を混同して提案することがあります。バージョンを指定しても誤った提案がされることがあるため、提案内容の精査が必要です。

総じて、「熟練したプログラマーペアプログラミングをしている感覚」に近いと言えます。GitHub Copilotは非常に強力なツールですが、最終的なコードの品質管理は利用者自身がしっかりと行う必要があります。