概要
AI ツールの使用は、ソフトウェア開発者の日常的なワークフローに欠かせなくなっています。 就職市場で競争力を高めるには、開発者として直面する各タスクにどの AI ツールを使うかを知っておく必要があります。
GitHub の AI ツールは、ソフトウェア開発ライフサイクル (SDLC) のあらゆるフェーズを支援します。
- 計画:
- Copilot Chat は、ブレインストーミングを行って、プロジェクトに最適なテクノロジを特定するのに役立ちます。
- Copilot Chat を使うと、アイデアを追跡するのに役立つ issue を作成できます。
- コードの作成:
- Copilot のコード補完を使うと、入力時にコードを追加できます。
- 次の編集候補 (パブリック プレビュー) は、ユーザーが次に行う可能性の高い編集を予測し、その入力候補を提案します。
- Copilot Chat は、会話環境内で質問に応答し、提案を提供します。
- 未解決の issue に Copilot コーディング エージェント を割り当てると、必要な変更に対処するための pull request が自動的に生成されます。
- レビュー:
- Copilot コード レビュー は、ユーザーの好みの IDE で、または GitHub での pull request レビューとして、フィードバックを提供します。
- テスト:
- Copilot Chat は、テストの作成とデバッグに役立ちます。
- 展開:
- Copilot Chat は、継続的インテグレーションと継続的デプロイ (CI/CD) のパイプラインの構成に役立ちます。
- 操作:
- Copilot コーディング エージェント (パブリック プレビュー) は、未解決の issue に対する pull request を生成できます。
- Copilot Chat は、ユーザーが作業しているタスクに役立ちます。
計画
計画フェーズでは、プロジェクトの目標、スコープ、要件を定義し、構築すべきものやその実現方法の概要を示すことで、開発の方向性を設定します。
GitHub 上で、[Copilot-powered issue creation] (パブリック プレビュー) を使って、アイデアの追跡を効率化できます。 短い自然言語のプロンプトを入力するか、画像をアップロードすると、Copilot によって構造化された issue が生成されます。
対処する issue を選んだら、Copilot Chat を利用してプロジェクトのアイデアをブレインストーミングし、必要になる可能性のあるさまざまなツール、ライブラリ、リソースについて学ぶことができます。 構想しているプロジェクトについて Copilot Chat に一般的な質問をして、今後の進め方に関する提案を受けることができます。 次に例を示します。
I'd like to build an web app that helps users track their daily habits and provides personalized recommendations. Can you suggest features and technologies I could use?
作成
作成フェーズでは、アプリケーションのコードを記述し、改良します。 ここでは、機能を実装し、バグを修正し、コードベースに対して反復処理を行うことで、プロジェクトを完成させることができます。
Copilot には、お気に入りの IDE または GitHub でコーディングするときに、オートコンプリート スタイルのコーディング候補を表示する機能があり、コードのドラフト作成や改良を迅速に行うのに役立ちます。 コードを直接記述するか、IDE のコメントを使って自然言語で意図を記述できます。Copilot によって、関連する提案が生成されます。
次の編集候補 (パブリック プレビュー) を使うと、Copilot により、現在行っている変更に基づいて関連する編集が予測されます。 たとえば、変数の名前を変更したり、関数のパラメーターを更新したりすると、コード全体で対応する更新が提案されます。 そのため、整合性を維持し、エラーの可能性を減らすことができます。
質問モードでの Copilot Chat の使用
ペア プログラマとして質問モードで Copilot Chat を使って、コーディング タスクの支援を受け、難しい概念を理解し、コードを改善しすることができます。 リアル タイムで質問し、説明を受け、提案を依頼することができます。
-
Can you explain what this JavaScript function does? I'm not sure why it uses a forEach loop instead of a for loop.
-
What’s the difference between let, const, and var in JavaScript? When should I use each one?
編集モードでの Copilot Chat の使用
Copilot から提案される編集をより細かく制御したい場合は、編集モードで Copilot Chat を使います。 編集モードでは、Copilot が変更できるファイルを選び、各繰り返しで Copilot にコンテキストを提供し、提案された編集を受け入れるかどうかを決定します。
-
Refactor the calculateTotal function to improve readability and efficiency.
-
The login function is not working as expected. Can you debug it?
-
Format this code to follow Python’s PEP 8 style guide.
エージェント モードでの Copilot Chat の使用
エージェント モードでは、反復タスクの自動化、プロジェクト内でのワークフローの直接管理について Copilot Chat の支援を受けることができます。 コードを変更した後、pull request を作成するために使います。 また、プロジェクトの作業中にバックグラウンドでテストやリンターを実行することもできます。
-
Create a pull request for the recent changes in the user-auth module and include a summary of the updates.
-
Run all tests and linters for the payment-processing module and provide a summary of any issues or errors found.
レビュー
レビュー フェーズでは、コードの品質と信頼性を確保します。 これには、変更の分析、潜在的な issue の特定、コードベースの全体的な構造と機能の改善が含まれます。
IDE でコーディングしているときに、Copilot に次の操作を依頼します。
- 選んだ変更内容をレビューする: コードの特定の部分を選び、Copilot に初期レビューを依頼します。 これは、少ない編集に対する迅速なフィードバックに最適です。
- すべての変更をレビューする: ファイルまたはプロジェクト内のすべての変更について、より詳細なレビューを依頼します。 行った作業は Copilot によって分析され、改善のための提案が示されます。
GitHub Web サイトで他のユーザーからフィードバックを受け取る準備ができたら、まず pull request に Copilot をレビュー担当者として割り当てます。 人によるレビューの前に、コード品質を改善し、潜在的なバグを特定することができる領域がわかりやすくなるコメントが自動的に追加されます。
テスト
テスト フェーズでは、アプリケーションが意図したとおりに機能するかどうかを検証します。 このフェーズでは、配置前にバグを検出し、機能を確保し、コードの品質を維持するためのテストを作成して実行します。
Copilot Chat は、単体テストと統合テストの生成、障害のデバッグ、包括的なカバレッジを確保するための追加テスト ケースの提案などを支援します。 次にプロンプトの例を示します。
-
Write unit tests for this function to calculate the factorial of a number. Include edge cases like 0 and negative numbers.
-
How do I run these tests using Python's unittest framework?
-
Write integration tests for the deposit function in the BankAccount class. Use mocks to simulate the NotificationSystem.
-
What additional tests should I include to ensure full coverage for this module?
展開
配置フェーズでは、運用環境用のコードを準備し、リリースがスムーズに行われるようにします。
Copilot Chat は、配置スクリプトの構成、CI/CD パイプラインの設定、issue のトラブルシューティングに役立ちます。 次にプロンプトの例を示します。
-
Write a deployment script for a Node.js application using GitHub Actions to deploy to an AWS EC2 instance.
-
Set up a GitHub Actions workflow to build, test, and deploy a Python application to Heroku.
-
Analyze this deployment log and suggest why the deployment failed.
操作
運用フェーズでは、アプリケーションがスムーズに実行され、ユーザーの期待に応えられるように、運用中のアプリケーションの保守と監視に重点を置きます。 このフェーズには、多くの場合、運用上の issue のデバッグ、パフォーマンスの最適化、システムの信頼性の確保などのタスクが含まれます。
Copilot コーディング エージェント (パブリック プレビュー) を、運用環境でのアプリケーションの保守と改善に役立つ自律エージェントとして使用できます。 GitHub の issue を Copilot に割り当てると、リポジトリが自律的に調査され、潜在的な修正が特定され、提案された変更を含む pull request が作成されます。 次に、自動的にレビューが要求されます。
取り組んでいる issue がある場合は、Copilot Chat を使って、ログの分析、issue のデバッグ、最適化の提案を行います。 次に例を示します。
-
Analyze this error log and suggest possible causes for the issue.
-
Write a script to monitor the memory usage of this application and alert when it exceeds a threshold.
-
How can I optimize the database queries in this code to improve performance?
次のステップ
次のタスクを開始する前に、作業をより速く、より効率的に行う適切なツールを特定します。