プログラミング: GitHub Copilotの利用感想
この記事では、執筆時点でのGitHub Copilotを実際に使用してみた感想をまとめます。
GitHub Copilotでできること
GitHub Copilotでできることをいくつか紹介します。
コメントを基にしたコード生成
コメントで実現したい処理を説明すると、それに基づいてコードを生成してくれます。たとえば、使用したいパッケージを指定することで、そのパッケージを利用したコードを提案してくれます。コメントのサジェスト機能
書きかけのコメントに対して、続きの文章を提案してくれる機能です。全部を自分で書く必要はなく、途中までのコメントで十分です。静的コード解析エラーの修正提案
通常の静的コード解析ツールでは対応できないエラーに対しても、修正案を提示してくれます。テストモジュールの生成
テスト対象のモジュールファイルを解析し、網羅的なテストケースを提案してくれます。リファクタリング支援
読みやすく、保守しやすいコードの提案だけでなく、その提案の理由や修正の観点まで示してくれます。コミットメッセージの提案
Gitへのコミットメッセージも、対象ファイルの内容に基づいて適切なものを提案してくれます。これにより、他の開発者にもわかりやすいメッセージが生成されます。パッケージの使い方やサンプルコードの提供
チャット形式で、特定のパッケージについて質問すると、特定のパッケージの使い方やそのサンプルコードも即座に回答してくれます。Web検索よりも効率的に情報を取得できます。
GitHub Copilotを使う上での注意点
GitHub Copilotは万能ではなく、利用者のサポートが不可欠です。利用者側で注意が必要な点もいくつかあります。
コードの精査
提案されたコードが必ずしも正しいとは限りません。あくまで「提案」であり、動作の正確性を確認するためには、利用者自身でコードを精査する必要があります。複雑な処理の分解
複雑な処理を一度に説明すると、期待通りのコードが生成されないことがあります。そのため、処理を段階的に分解し、少しずつ説明することで、より適切な提案を得ることができます。テストモジュールの精査
提案されたテストコードはそのままでは動作しない場合が多いです。入力値や期待値を確認し、動作するように修正する必要があります。リファクタリング後の検証
リファクタリングされたコードが、元のコードと同じ処理を行っているかは確認が必要です。リファクタリング前にテストを行い、変更後も同じテストが通るか検証することが重要です。パッケージのバージョンに注意
特定のパッケージの使い方を尋ねる際、異なるバージョンの情報を混同して提案することがあります。バージョンを指定しても誤った提案がされることがあるため、提案内容の精査が必要です。
総じて、「熟練したプログラマーとペアプログラミングをしている感覚」に近いと言えます。GitHub Copilotは非常に強力なツールですが、最終的なコードの品質管理は利用者自身がしっかりと行う必要があります。