Github Copilotを利用して開発を効率化する

こんにちは。遠藤です。

今回はGithub Copilotを利用してみました。

 

目次

  1. 導入方法
  2. 開発の補助になるか
  3. テストコードを自動で書いてくれるのか
  4. 開発に導入して問題ないか

 

1. 導入方法

1-1. Github Copilotの有効化

Github Copilotの画面(https://github.com/settings/copilot)にアクセスし、「Start Free Trial」を押下するとプランを選択できます。

プラン選択後、「Get access to GitHub Copilot」を押下します。

支払い情報を入力して「Save」を押下します。

以上でアカウントの設定は完了です。

1-2. 拡張機能のインストール

Visual Studio Code にて拡張機能 Github Copilot をインストールします。

※ GitHub アカウントで Visual Studio Code を承認していない場合は、Visual Studio Code で GitHub にサインインするように求められます。

以上で導入完了です。

 

2. 開発の補助になるか

jsで試してみました。

日本時間をアメリカ時間に変更するメソッドを書きたいとコメントで指示を出すと、候補のコードが表示されます。Tabキー押下で受け入れることができます。

ちなみに、指示のコメントは日本語よりも英語の方が良い結果が返ってくる印象でした。

受け入れ後、Enterキー押下でさらに候補が表示されます。Tabキー押下で受け入れます。

コメントとTabキー、Enterキーのみでメソッド完成です。

 

3. テストコードを自動で書いてくれるのか

Laravelで試してみました。

日本時間をアメリカ時間に変更するメソッドを作成します。

コメントで上記で作成したメソッドについてテストを作成するように指示を出しています。

いい感じの候補が表示されました。

このような簡易なメソッドであれば問題ないですが、複雑なメソッドでは上手くテストコードの候補が表示されませんでした。上手くCopilotを利用するにはテストコードの書きやすいメソッド設計が重要なのかとも感じました。

 

4. 開発に導入して問題ないか

4-1. 外部にソースコードが流出しないか

Githubのページ(https://github.com/features/copilot/)に以下の記載がありました。

Will my code be shared with other users?

No. We follow responsible practices in accordance with our Privacy Statement to ensure that neither your Prompts or Suggestions will be shared or used as suggested code for other users of GitHub Copilot.

設定は必要ですが、外部に流出する恐れはないようです。

4-2. 著作権侵害をしてしまわないか

Githubのページ(https://github.com/features/copilot/)に以下の記載がありました。

What if I’m accused of copyright infringement based on using a GitHub Copilot suggestion?

GitHub will defend you as provided in the GitHub Copilot Product Specific Terms.

規約には以下のような記載がありました。

3. Responsibility for Your Code.
You retain all responsibility for Your Code, including Suggestions you include in Your Code or reference to develop
Your Code. It is entirely your decision whether to use Suggestions generated by GitHub Copilot. If you use
Suggestions, GitHub strongly recommends that you have reasonable policies and practices in place designed to
prevent the use of a Suggestion in a way that may violate the rights of others. This includes, but is not limited to,
using all filtering features available in GitHub Copilot.

あくまで自己責任であるため、まるまるコピーはしないようにするのが最善です。

4-3. 上記を防ぐ

上記の不安点を防ぐために、設定画面にて以下の2つを設定します。

  1. 「Suggestions matching public code」でブロックを設定する。
  2. 「Allow GitHub to use my code snippets for product improvements *」のチェックを外す。



❏❏ TOPIC ❏❏ ------------------------------------------------------------

カスタム自由!フリーECサイトパッケージ
チャットボット導入サービス
WEBシステム開発・スマホアプリ開発はSRIAへ