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. Collaboration

AIフレンドリーなドキュメンテーション

テキストベースのドキュメンテーションによってAIに親しみやすくします。AIはテキストベースのドキュメンテーションを読むことができますが、画像ベース や 複雑なエクセルやパワーポイントファイルなどのドキュメンテーションは読むことができません。

Last updated 1 year ago

Description

AI を用いたコーディング支援ツールである GitHub Copilotの時代には、テキストベースで AI が容易にアクセスできるドキュメントが重要です。AI の時代では、Infrastructure as Code、データベーステーブル仕様、テスト要件などのファイルは、即座に実際のコードに変換できる可能性を持っています。複雑なエクセル、パワーポイントファイル、PDF、画像形式ではなく、テキストベースのドキュメントによって AI があなたのコーディングを協力に支援することができるようにになります。

以下のファイルがテキストベースであるか確認します:

  • インフラストラクチャ定義

  • データベーステーブル定義

  • テスト仕様

Example

例えば、以下のようなマークダウンで書かれたテーブルがある場合、GitHub Copilot はマイグレーションファイルのベースを提供します。

# | No. | Item Name            | Type                        | Length | Decimal | Required | Primary Key | Remarks                |
# | --- | -------------------- | --------------------------- | ------ | ------- | -------- | ----------- | ---------------------- |
# | 1   | pass_document_id     | integer                     |        |         | Y        | Y           | Document ID            |
# | 2   | checkout_id          | integer                     |        |         | Y        | Y           | Unique Serial Number   |
# | ... | ...                  | ...                         | ...    | ...     | ...      | ...         | ...                    |
# | 15  | update_datetime      | timestamp-without-time-zone |        |         |          |             | Update Timestamp       |

# Create migration file of cooperation_pass public

class CreateGovernmentPass < ActiveRecord::Migration[7.0]
  def change
    # <Copilot Suggestion Here>

Exercise

  • エクササイズ 1: 既存のドキュメントをチェックし、テキストベースでないファイルをリストします。

  • エクササイズ 2: テキストベースでないファイルのうちの1つをマークダウンまたはプレーンテキストファイルに変換し、以前の形式とのアクセシビリティを比較します。

  • エクササイズ 3: リポジトリをスキャンし、テキストベースでないドキュメントがコミットされた場合に警告するスクリプトを書きます。

Checklist for Further Learning

  • チームメンバーがテキストベースのドキュメントの標準を守っていることをどのように確保できますか?

  • 他にどんなチーム/プロジェクトのドキュメントがテキストで書かれていたら、開発の速度を上げることができますか?

  • テキストベースのドキュメントの採用が AI ツール のGitHub Copilot を使った開発をどのように改善できますか?