GitHub Copilot - Patterns & Exercises
GitHub 🌟
ja 🇯🇵
ja 🇯🇵
  • ようこそ
  • プロジェクトに貢献するには
  • General
    • コード補完
    • コメントからコードを生成
    • コードからコメントの自動生成
    • GitHub CopilotとのクイックQ&A
    • 正規表現
    • プログラミング言語間の翻訳
    • タイプヒンティング
    • 構造化データからのオブジェクト生成
    • コードからドキュメントへ
  • Client Side Tips
    • Copilot スニペットハンドリング
    • GitHub Copilot ショートカット
    • 定義に移動
    • 便利なファイルのピン留め
  • Design Patterns
    • AI が理解可能な命名規則
    • 一貫性のあるコーディングスタイル
    • ハイレベルアーキテクチャを先に
    • 小さなコードチャンクで作業する
    • コンテキストレス・アーキテクチャ
    • 微細な OSS 依存関係の排除
  • Collaboration
    • AIフレンドリーなドキュメンテーション
    • プロンプトとコード生成プロセスのコーチング
  • Testing
    • ユニットテストの作成
    • テストコード生成の方法を指定する
    • 失敗ケースを最初に書く
    • 自然言語でテストケースを最初に記述する
    • 必要な部分だけをテストする
  • Refactoring
    • リファクタリング前にテストコードを書く
    • 計算ロジックを独立させる
    • オープン・クエスチョンで尋ねる
  • Archived
    • GitHub Copilot Patterns & Exercises Guide
    • Translations
      • German 🇩🇪
      • Spanish 🇪🇸
      • French 🇫🇷
      • Italy 🇮🇹
      • Japanese 🇯🇵
      • Portuguese 🇵🇹
      • Chinese 🇨🇳
Powered by GitBook
On this page
  • Description
  • Example
  • Exercise
  • Checklist for Further Learning
Edit on GitHub
  1. General

タイプヒンティング

動的型付けプログラミング言語を書く際にも型のヒントをしっかりと書くことで、GitHub Copilot の提案精度を向上させることができます。

Last updated 1 year ago

Description

動的型付けプログラミング言語の世界では、開発者は特に複雑なシステムでコードを理解する際に課題に直面することがよくあります。タイプヒンティングは、期待されるデータ型を明示的に宣言することで、明確さの層を追加します。 GitHub Copilot を使う際にもタイプヒンティングを使うことにより、コード提案の精度を高め、開発者と GitHub Copilot がより効率的にコードを書くのを支援します。

深くネストされた関数でプロジェクトに取り組んでいると想像してみてください。変数の型を追跡するのが複雑になります。タイプヒンティングの統合は、同僚の開発者にとってコードをより読みやすくすることにも繋がります。

Example

Python でタイプヒンティングを使用して関数を定義する方法は以下の通りです。

def add_numbers(a: int, b: int) -> int:
    return a + b

GitHub Copilot はこれらのタイプヒンティングを認識し、それに応じてコード提案を生成します。

Exercise

  • エクササイズ 1: タイプヒンティングを使用して、2つの文字列パラメータを取り、それらの連結を返す関数を書いてください。

  • エクササイズ 2: プロジェクト内の既存のコード片をタイプヒンティングを含むように変換し、GitHub Copilot の提案の違いを観察してください。

  • エクササイズ 3: 複数のメソッドを持つ複雑なクラスを作成し、すべてのパラメータと戻り値のタイプヒンティングを使用してください。

Checklist for Further Learning

  • コードベース全体でタイプヒンティングを一貫して使用していますか?

  • タイプヒンティングの過剰な使用の潜在的な欠点を考慮しましたか、そしてコード内での適切なバランスをどのように見つけるかですか?