変数名・関数名の長さの目安|プログラミングの命名規則

プログラミングにおいて、変数名や関数名の命名はコードの可読性を左右する最も重要な要素の一つです。短すぎる名前は意味が伝わらず、長すぎる名前はコードを冗長にします。適切な長さの名前を付けるには、スコープの広さや役割の複雑さに応じた判断基準が必要です。この記事では、命名の長さの目安と各言語の慣例を解説します。名前の文字数確認には 文字カウンタス をご活用ください。

スコープに応じた変数名の長さの目安

変数名の適切な長さは、その変数が使われるスコープの広さに比例します。Robert C. Martin の「Clean Code」や Google のスタイルガイドでも、この原則は広く支持されています。

スコープ 推奨文字数 理由
ループカウンタ (1〜3 行) 1〜2 文字 i, j, k 慣例として広く認知されており、短いスコープでは十分に意味が伝わる
ラムダ・短いブロック (5 行以内) 3〜8 文字 item, user, val 文脈から型や役割が推測できる範囲
関数内ローカル変数 8〜15 文字 userName, totalPrice 関数の処理を読み解く際に、変数の役割が明確に伝わる長さ
クラスのフィールド・プロパティ 10〜20 文字 maxRetryCount, isAuthenticated クラス全体で参照されるため、より具体的な名前が必要
グローバル変数・定数 15〜25 文字 MAX_CONNECTION_TIMEOUT, DEFAULT_PAGE_SIZE コードベース全体で参照される可能性があり、曖昧さを排除する必要がある

この目安はあくまで指針であり、重要なのは「名前を見ただけで役割が理解できるか」という基準です。スコープが狭ければ短い名前でも文脈から意味が伝わり、スコープが広ければ具体的な名前が求められます。

関数名・クラス名の命名規則と長さ

関数名とクラス名は変数名よりも広いスコープで使われるため、より説明的な名前が求められます。ただし、冗長になりすぎると呼び出し側のコードが読みにくくなるため、バランスが重要です。

識別子の種類 推奨文字数 命名のポイント
関数名 10〜25 文字 動詞 + 目的語の形式で、何をする関数かを明示する calculateTotalPrice, sendEmailNotification
クラス名 10〜25 文字 名詞または名詞句で、クラスが表す概念を示す UserRepository, PaymentProcessor
インターフェース名 10〜25 文字 振る舞いを表す形容詞、または名詞を使用する Serializable, EventListener
定数名 10〜30 文字 UPPER_SNAKE_CASE で、値の意味を具体的に示す MAX_RETRY_COUNT, DEFAULT_TIMEOUT_MS
Boolean 変数・関数 10〜20 文字 is / has / can / should などのプレフィックスを付ける isValid, hasPermission, canExecute

関数名は「動詞で始める」が鉄則です。data() より fetchData()validation() より validateInput() のほうが、関数の振る舞いが明確に伝わります。

各言語の命名慣例の比較

プログラミング言語ごとに命名のスタイルや慣例は異なります。チーム開発では、使用言語の公式スタイルガイドに従うことが基本です。

言語 変数・関数 クラス 定数 公式ガイド
Java camelCase PascalCase UPPER_SNAKE_CASE Google Java Style Guide
Python snake_case PascalCase UPPER_SNAKE_CASE PEP 8
JavaScript camelCase PascalCase UPPER_SNAKE_CASE Airbnb Style Guide 等
Go camelCase (非公開) / PascalCase (公開) PascalCase PascalCase または camelCase Effective Go
Ruby snake_case PascalCase UPPER_SNAKE_CASE Ruby Style Guide
C# camelCase (ローカル) / PascalCase (公開) PascalCase PascalCase Microsoft C# Coding Conventions