プログラミングの命名規則:完全ガイド

7 分で読了

命名規則はソースコードの識別子を選択するための体系的なルールです。適切な規則を使うことで可読性が向上し、バグが減り、チーム間の保守が容易になります。

なぜ命名規則が重要か

コードは書かれる回数より読まれる回数の方が圧倒的に多いです。一貫した命名により、変数・関数・クラスの目的とスコープが一目でわかります。

主要な命名規則

camelCase

区切り文字なしで2番目以降の単語を大文字に:getUserNametotalPrice。JavaScript、TypeScript、Java、Swiftの変数・関数で標準。

PascalCase(UpperCamelCase)

camelCaseと同様だが最初の単語も大文字:UserAccountHttpClient。クラス名、Reactコンポーネント、TypeScriptインターフェースで使用。

snake_case

アンダースコア区切りですべて小文字:user_nameget_total_price。PEP 8でPythonに規定、Ruby、Rust、SQLでも標準。

SCREAMING_SNAKE_CASE

すべて大文字+アンダースコア:MAX_RETRY_COUNTAPI_BASE_URL。ほとんどの言語の定数と環境変数。

kebab-case

ハイフン区切りですべて小文字:my-componentuser-profile。CSSクラス、HTML属性、URLスラッグ、CLIフラグで標準。

dot.case

ドット区切り:com.example.app。Javaパッケージ名やプロパティファイルキー。

言語別の規則

言語変数/関数クラス定数
JavaScript / TypeScriptcamelCasePascalCaseSCREAMING_SNAKE
Pythonsnake_casePascalCaseSCREAMING_SNAKE
JavacamelCasePascalCaseSCREAMING_SNAKE
Rubysnake_casePascalCaseSCREAMING_SNAKE
Rustsnake_casePascalCaseSCREAMING_SNAKE
GocamelCasePascalCasecamelCase / PascalCase
C#camelCasePascalCasePascalCase
SwiftcamelCasePascalCasecamelCase
PHPcamelCase / snake_casePascalCaseSCREAMING_SNAKE
CSSkebab-case

ベストプラクティス

  • 言語のスタイルガイドに従う。PythonはPEP 8、JavaはGoogleスタイル、JavaScriptはAirbnb — 独自ルールを作らない。
  • プロジェクト内で一貫させる。同一ファイルでcamelCaseとsnake_caseを混在させない。
  • 記述的な名前を使う。getUよりgetUserByIdが望ましい。規則はフォーマットであり、中身は意味のあるものにすべき。
  • 略語を避ける。calcTotPrcよりcalculateTotalPrice
  • エコシステムに合わせる。ReactプロジェクトでcamelCaseプロパティを使い、Python APIがsnake_caseを返す場合は、境界で変換する。

まとめ

命名規則は恣意的なものではありません。スコープ、型、意図についての情報をエンコードしています。使用言語の標準を学び、一貫して適用すれば、コードの読みやすさ・レビュー・保守性が向上します。

規則間の変換

camelCaseコンバーターsnake_caseコンバーターPascalCaseコンバーターkebab-caseコンバーターをご利用ください。ケース変換ハブですべての形式を並べて比較できます。