変数・関数名の命名候補を比較して選ぶ

処理内容を説明し、複数の命名候補を比較して選定する

プロンプト · 変数 3個

あなたはコードレビューで長年命名を見てきた熟練の開発者です。良さそうな名前を1つだけ選ぶのではなく、候補を並べてそれぞれがどのように読めるかを比較してください。

私は{{言語}}で開発しており、現在使っている名前は{{既存の名前}}です。この名前を初めて見る同僚がコードを開いたとき、何をするものか直感的に理解できるようにしたいです。

以下の説明を読み、命名候補を5つ提案してください。似たような名前を5つ出すのではなく、何を強調しているかがそれぞれ異なる5つを作成してください。

表形式で整理してください。列は「候補・この名前だけを見て読み取れる処理・どのような場合に違和感が生じるか」としてください。表の下に、最もおすすめのものを1つ選んでその理由を2文で記載してください。最後に、現在の名前をそのまま維持した方が良いケースがあれば1行で教えてください。

例えば「注文をキャンセルできるか確認する」という説明であれば、canCancelOrder(可能かどうかを尋ねるニュアンス)・validateOrderCancellation(検証プロセスのニュアンス)・checkOrder(何を検証するのかが曖昧)のように、方向性の異なる候補とそれが与える印象をあわせて記載してください。

名前は{{言語}}の一般的な命名規則(命名規則・記法)に従ってください。チームで通じないような省略形(mgr, tmp, procなど)は使わないでください。説明にない機能を名前に含めないでください。

処理内容の説明: """ {{業務の 説明}} """

コピーしたらここに貼り付け · ChatGPT・Claudeはプロンプト入りで開きます ChatGPTで開く ↗Claudeで開く ↗Geminiで開く ↗ ビルダーで編集 授業用カード画像を保存

このプロンプトには個人情報が入りうる変数があります。実名・番号・会社名は仮名に置き換えてください。

なぜこう書くのか

役割
あなたはコードレビューで長年命名を見てきた熟練の開発者です。良さそうな名前を1つだけ選ぶのではなく、候補を並べてそれぞれがどのように読めるかを比較してください。
文脈
私は{{言語}}で開発しており、現在使っている名前は{{既存の名前}}です。この名前を初めて見る同僚がコードを開いたとき、何をするものか直感的に理解できるようにしたいです。
課題
以下の説明を読み、命名候補を5つ提案してください。似たような名前を5つ出すのではなく、何を強調しているかがそれぞれ異なる5つを作成してください。
形式
表形式で整理してください。列は「候補・この名前だけを見て読み取れる処理・どのような場合に違和感が生じるか」としてください。表の下に、最もおすすめのものを1つ選んでその理由を2文で記載してください。最後に、現在の名前をそのまま維持した方が良いケースがあれば1行で教えてください。
例示
例えば「注文をキャンセルできるか確認する」という説明であれば、canCancelOrder(可能かどうかを尋ねるニュアンス)・validateOrderCancellation(検証プロセスのニュアンス)・checkOrder(何を検証するのかが曖昧)のように、方向性の異なる候補とそれが与える印象をあわせて記載してください。
制約
名前は{{言語}}の一般的な命名規則(命名規則・記法)に従ってください。チームで通じないような省略形(mgr, tmp, procなど)は使わないでください。説明にない機能を名前に含めないでください。
入力資料
処理内容の説明: """ {{業務の 説明}} """

変数名の命名をAIに尋ねると、通常は名前が1つだけ返ってきます。それらしく見えますが、なぜその名前なのか、他の選択肢は何だったのかが分からないため、チームの規約と合っていなくても気づきにくいです。命名は正解が1つだけの問題ではなく「何を強調するか」を選ぶ問題であるため、比較対象がなければ選ぶこともできません。

形式を表に固定した点がこのプロンプトの肝です。「この名前だけを見て読み取れる処理」の列は、命名者の意図ではなく、初見の人が受ける印象を書かせます。「どのような場合に違和感が生じるか」の列は、現時点では合っていても機能が少し拡張されただけで嘘になってしまう名前をあらかじめ除外します。例えば fetchUser がキャッシュからも取得するようになる瞬間のミスリードなどを防ぎます。

を1行入れているのは、「方向性が異なる」という指示だけでは曖昧になりやすいためです。例がないまま5つ出させると、getXgetXDatagetXInfo のような実質同じ名前が並んでしまいます。方向性の違う3つの例を見せることで、その幅が基準となり、バリエーション豊かな候補が出やすくなります。

制約は2つの事故を防ぎます。命名規則を指定しないとPythonコードに getUserList のようなキャメルケースが混ざり、省略語を禁止しないと短いという理由だけで procMgr のような候補が出てきます。「説明にない機能を名前に含めないでください」は、関数名の推薦において特に重要です。AIが andSendEmail のように実装もしていない処理を名前に付け足してしまうと、後からコードを読む人が誤解してしまいます。

用語が分からなければAha AIで: prompt, output-format

悪い例との比較

よくある悪い例

カートの最終金額を計算する関数の名前は何がいい?

calculateTotalPrice が1つ返ってくるだけです。無難ですが、この関数が品切れ商品を除外していることも、クーポンを適用していることも名前からは分かりません。比較する候補がないためそのまま採用してしまい、数ヶ月後に「合計金額のはずなのになぜ値が合わないんだ」と関数の中身を読み直すことになります。

バリエーション

ファイル名やフォルダ名を決めるとき

ファイル名やフォルダ名を決めるとき

{{言語}}のプロジェクトで新しく作成するモジュールのファイル名とフォルダの配置場所を決めようとしています。以下の説明を読み、候補を3つ提案して、各候補がどのようなフォルダ構造を前提としているかを1行ずつ記載してください。すでに一般的に使われている名前と混同するリスクがあれば明記してください。

""" {{業務の 説明}} """

個別の識別子ではなく配置構造が論点のときに使います。前提となるフォルダ構成を併記させることで、チームのアーキテクチャに合っているか即座に判断できます。

複数の名前をまとめて整理するとき

複数の名前をまとめて整理するとき

以下は1つのファイル内にある{{言語}}の名前一覧です。それぞれの名前について「維持・変更」をまず判定し、変更すべきものについてのみ新しい候補2つと理由を表で記載してください。ファイル内で命名規則が矛盾している箇所があれば、最後にまとめて指摘してください。

""" {{業務の 説明}} """

リファクタリングで命名を一括整理したいときに使います。まず「変更が必要か」を判定させることで、問題のない名前まで無駄に変更させようとする提案を減らせます。

モデル別の注意

チームのコードでよく使われている命名をいくつか一緒に貼り付けると、既存のルールに沿った候補が出力されます

候補がしっくり来ず再出力させると、直前の候補を少し変えただけのものになりがちです。気に入った方向性を1つ選び、「この方向性だけで5つ」と指定してください。チームのリポジトリでよく使われている名前を5〜6個あわせて貼り付けると、既存の命名ルールに馴染む候補が得られます。

関連プロンプト

最終更新 2026-09-02 · 誤りがありますか? 知らせる