命名規約が重要な理由
コード内の変数名、関数名、クラス名の書き方は、単なる好みではありません。統一された命名規約により、コードが読みやすくなり、チーム共同作業がスムーズになり、スタイルが一貫します。言語によって慣例が異なり、混同すると専門性に欠けて見えます。
よくある命名規約
キャメルケース(camelCase)
最初の単語は小文字、以降の単語の先頭を大文字に:
firstName
lastName
getUserInfo
isLoggedIn
用途:JavaScript/TypeScriptの変数と関数、Javaのメソッドと変数、C#のメソッドと変数。
パスカルケース(PascalCase / UpperCamelCase)
すべての単語の先頭を大文字に:
FirstName
UserService
HomeController
用途:JavaScript/TypeScriptのクラスとインターフェース、Javaのクラス、C#のクラスとメソッド、Reactコンポーネント。
スネークケース(snake_case)
すべて小文字、単語をアンダースコアで区切る:
first_name
last_name
get_user_info
用途:Pythonの変数と関数、Rubyの変数とメソッド、データベースのフィールド名、PHPの変数。
大文字スネークケース(UPPER_SNAKE_CASE / SCREAMING_SNAKE_CASE)
すべて大文字、アンダースコアで区切る:
MAX_RETRY
DEFAULT_TIMEOUT
API_BASE_URL
用途:定数、設定項目、列挙値。ほぼ全ての言語で定数の命名にこの規約を使います。
ケバブケース(kebab-case)
すべて小文字、ハイフンで区切る:
first-name
user-profile
api-key
用途:URLパス、HTML/CSSのクラス名、ファイル名、設定ファイルのキー名。
ドットケース(dot.case)
ドットで区切る:
user.name
config.timeout
用途:設定ファイルの階層キー、名前空間。
言語別慣例クイックリファレンス
JavaScript / TypeScript
- 変数、関数:camelCase(getUserInfo)
- クラス、インターフェース、型:PascalCase(UserService)
- 定数:UPPER_SNAKE_CASE(MAX_RETRY)
- プライベートメンバー:アンダースコア前置きのcamelCase(_privateVar)
Python
- 変数、関数:snake_case(get_user_info)
- クラス:PascalCase(UserService)
- 定数:UPPER_SNAKE_CASE(MAX_RETRY)
- プライベートメンバー:アンダースコア前置きのsnake_case(_private_var)
Java
- 変数、メソッド:camelCase(getUserInfo)
- クラス:PascalCase(UserService)
- 定数:UPPER_SNAKE_CASE(MAX_RETRY)
- パッケージ名:すべて小文字(com.example.service)
CSS / HTML
- クラス名:kebab-case(user-profile)
- ID:kebab-caseまたはcamelCase(チームで決定)
データベース
- テーブル名、フィールド名:snake_case(user_name)
- camelCaseを使う場合もあり、チーム規約次第
URL
- パス:kebab-case(/user-profile/settings)
- クエリパラメータ:camelCaseまたはsnake_case(?userId=123 または ?user_id=123)
変換ルール
camelCase → snake_case
- 大文字を見つける
- 大文字の前にアンダースコアを追加
- すべて小文字に変換
例:getUserInfo → get_user_info
snake_case → camelCase
- アンダースコアを見つける
- アンダースコアの後の文字を大文字に
- アンダースコアを削除
例:get_user_info → getUserInfo
PascalCase → camelCase
先頭文字を小文字に、残りはそのまま。
例:UserService → userService
camelCase → PascalCase
先頭文字を大文字に、残りはそのまま。
例:userService → UserService
kebab-case → camelCase
- ハイフンを見つける
- ハイフンの後の文字を大文字に
- ハイフンを削除
例:user-profile → userProfile
よくある間違い
規約の混用
同じプロジェクト内でcamelCaseとsnake_caseを混用すると、乱雑に見えます。一つの規約を選んで継続しましょう。
略語の処理
略語はすべて大文字にすべき?
- URL それとも Url?userId それとも userID?
- 慣例:2文字略語はすべて大文字(ID、URL)、3文字以上は先頭大文字(Http、Xml)
- チームで統一すればよく、重要なのはプロジェクト全体で一貫すること
頭字語
HTTP、XML、URL は camelCase でどう書く?
- 推奨:httpUrl、xmlParser(通常の単語として処理)
- 一部は:HTTPUrl、XMLParser(略語の大文字を維持)
- チームで統一
数字の処理
user2name それとも user2Name?
- camelCase:user2Name(数字の後の単語の先頭を大文字に)
- snake_case:user2_name
DocsAllで大文字小文字を変換
大文字小文字変換ツールが対応:
- すべて大文字 / すべて小文字
- 先頭大文字
- キャメル / パスカル / スネーク / ケバブ相互変換
- 文の先頭大文字
操作:
- テキストを貼り付け
- 変換タイプを選択
- 結果をコピー
ブラウザ側で変換、テキストはアップロードされません。
まとめ
命名規約のポイント:変数と関数はキャメルケースまたはスネークケース(言語による)、クラスはパスカルケース、定数は大文字スネークケース、URLはケバブケース。チームでの統一が最も重要です。DocsAll 大文字小文字変換ツールはブラウザ側で実行され、データは外部に送信されません。