Copilot を使用してコードをリフラクタする方法
AI 製品は、現代のソフトウェア開発やコーディングに革命をもたらしました。AI を使用すると、プログラミング コードを自動的に生成し、コード リファクタリングを通じて修正および最適化することができます。この記事では、リファクタリング プロセスについて説明し、Copilot を使用してコードをリファクタリングする方法を説明します。
コードリファクタリングとは何ですか?
ソフトウェアまたはアプリケーション開発において、コード リファクタリングとは、元の機能を維持しながらプログラム ソース コードを再構築または再配置することを指します。このプロセスの目的は、ソフトウェアの構造と設計を改善し、複雑さを軽減することです。コード リファクタリングに AI を統合することで、ソフトウェアのパフォーマンスの問題を迅速に特定し、複雑なアルゴリズムを簡素化して全体的な効率を向上させることができます。
Copilot はコードのリファクタリングにどのように役立ちますか?
コードの特定のセクションを分析し、複雑さを軽減するために、その構造をよりクリーンでユーザーフレンドリーな形式に改善するための提案を提供します。提供される推奨事項は、次の内容に基づいています。
- 既存のコードの問題を特定します。Copilotはコード ファイル全体をスキャンし、重複したコード、未使用または不明な変数などを指摘して、リファクタリングするセクションまたは領域を強調表示します。
- 効率的なオプションを提案:コードをリファクタリングする場合、Copilot は既存のコードを分析し、同じ結果を生み出しながらもコードの見栄えを良くする効率的な代替案を提案します。これらの推奨事項には、変数、メソッド、データ構造の命名に効率的な言語を使用することが含まれます。
- 保守可能なコードを確保する:リアルタイムのフィードバックにより、バグの混入を回避できます。提案は通常、適切なコード構造を維持するのに役立つプログラミング原則のベスト プラクティスに基づいており、他のユーザーが理解しやすく、必要に応じて変更しやすくなります。
Copilot を使用してコードをリフラクタする方法
Copilot をリファクタリングに使用するには、まず、関係する言語 (VS Code、Python など) 用のGitHub Copilot拡張機能をインストールします。たとえば、Python で記述されたソース コードを再構築する場合は、次のようにして Copilot プラグインをインストールできます。
- クリックすると、統合開発環境または IDE (JavaScript または Python) で設定オプションが開きます。
- 左側のプラグインオプションをクリックします。
- Marketplaceオプションをクリックし、 GitHub Copilotプラグインを検索します。
- 見つかったら、「インストール」をクリックしてプラグインをインストールします。
- インストールが完了すると、IDE は再起動を求めます。再起動後、IDE を開き、「ツール」->「GitHub Copilot」->「GitHub にログイン」をクリックします。
- ログインに成功すると、Copilot が使用できるようになります。
- Copilotを使用するには、コードを書くときに以下のショートカットを使用できます。
アクション | Windows/Linux | マックOS |
インライン提案をトリガーする | Alt+\ | オプション+\ |
次の提案を見る | Alt+] | オプション+] |
前回の提案を参照 | Alt+[ | オプション+[ |
提案を受け入れる | タブ | タブ |
インライン提案を却下する | ESC | ESC |
すべての提案を新しいタブに表示する | Alt+Enter | Alt+Enter |
例1: 複雑なコードを簡素化する
Copilot のリファクタリング機能を使用して複雑なコードをどのように簡素化できるかを示すために、以下のコード スニペットを検討してみましょう。ここでは、理解を容易にするために、より大きなプログラムの一部のみを検討しています。
リファクタリング前
public void processOrder(Order order) {
//. .. その他のコード
注文が処理可能な状態の場合
// 注文を処理する
}
//… その他のコード
}
Copilotでリファクタリングした後
public void processOrder(Order order) {
//. ..その他のコード
processReadyOrder(注文) を実行します。
//. ..その他のコード
}
private void processReadyOrder(Order order) {
注文が処理可能な状態の場合
// 注文を処理する
}
}
例2: 変数名の変更
リファクタリング前
def calculate_area(l, w):
l * w を返す
Copilotでリファクタリングした後
def calculate_area(length, width):
長さ * 幅を返す
しかし、リファクタリング後、変数「l」と「w」は長さと幅に置き換えられ、リファクタリングの重要な機能である変数名の変更によってコードの明確さが向上しました。
Copilot はコードの再構築に役立ちますが、誤った提案、過度の依存、古いコードの反射など、いくつかの制限があります。提案を受けたら、すべての手動チェックを実行し、適切なプロンプトを使用するようにしてください。
GitHub Copilot はどのようなデータでトレーニングされていますか?
GitHub Copilot は、GitHub のパブリック リポジトリ内のコードなど、公開されているソースからの自然言語テキストとソース コードでトレーニングされています。GitHub、OpenAI、Microsoft が開発した生成 AI モデルを活用しています。
Copilot と互換性のあるプログラミング言語は何ですか?
Github Copilot はさまざまな言語をサポートしていますが、特に JavaScript、TypeScript、Ruby、Python、Go、C++、C# に適しています。
コメントを残す