AI可読性のある命名規則
このドキュメントはまだ検証中です。GitHub の Issue で積極的に議論をかわすことを期待しています。
Description
この文書は、AI コーディング支援ツールとコードを書く際に役立つ名前付けルールのパターンについて説明します。 このパターンを利用することで、AIがより読みやすく、理解しやすくいコードを書くことができます。
Problem
コードを書く際に、変数や関数の名前をどうするか悩むことがあります。また、コメントアウトだけでコンテキストを提供しようとすると、読み手にとって理解しづらいコードになることがあります。この読みにくさは GitHub Copilot の精度にも影響してしまいます。最終的に GitHub Copilot から正確な提案を受けることができなくなってしまいます。
Context
AI コーディング支援ツールの代表である GitHub Copilot は Codex というエンジンを使用しており、このエンジンは GPT3 ベースのモデルを利用しています。GPT3 ベースのモデルは自然言語を理解することができ、Codex も同様に自然言語を理解することができます。自然言語に似た変数の表現をすることで、より読みやすく理解しやすいコードを書くことができます。
Solution
コードを書く際に、変数や関数の名前について悩んでいる場合は、チームであらかじめ共通の命名規則を AIコーディング支援ツールが読むことを前提につくることで、AI にもより読みやすく理解しやすいコードを書くことができます。 コメントアウトだけでコンテキストを提供するのではなく、自然言語に似た変数の表現をすることで、AIコーディング支援ツールがより正確な提案を行うことができるようになります。
以下は、名前付けルールのパターンの例です。
ローワーケースを使用する / キャメルケースを使用する
自然言語に似た変数の表現をする
短い名前を使用する
説明的な名前を使用する
Resulting Context
この名前付けルールのパターンを利用することで、読みやすく理解しやすいコードを書くことができるとともに、AIがより正確なコードの提案を行うことができるようになります。