命名規則できるだけ集めてみた

# 命名規則できるだけ集めてみた

## 一覧

| 名前                   | 例                | 区切り          | 先頭の文字             | 中間文字 |
| ---------------------- | ----------------- | --------------- | ---------------------- | -------- |
| [キャメルケース](#キャメルケースcamelcase)         | camelCase         | 大文字          | 小文字（最初の単語のみ） | 小文字   |
| [パスカルケース](#パスカルケース-pascalcase)         | PascalCase        | 大文字          | 大文字                 | 小文字   |
| [スネークケース](#スネークケース-snake_case)         | snake_case        | _(アンダーバー) | 小文字                 | 小文字   |
| [アッパースネークケース](#アッパースネークケース-upper_snake_case) | UPPER_SNAKE_CASE  | _(アンダーバー) | 大文字                 | 大文字   |
| [パスカルスネークケース](#パスカルスネークケース-pascal_snake_case) | Pascal_Snake_Case | _(アンダーバー) | 大文字                 | 小文字   |
| [ケバブケース](#ケバブケース-kebab-case)           | kebab-case        | -(ハイフン)     | 小文字                 | 小文字   |
| [コボルケース](#コボルケース-cobol-case)           | COBOL-CASE        | -(ハイフン)     | 大文字                 | 大文字   |
| [トレインケース](#トレインケース-train-case)         | Train-Case        | -(ハイフン)     | 大文字                 | 小文字   |
| [ドットケース](#ドットケース-dotcase)           | dot.case          | .(ドット)       | 小文字                 | 小文字   |
| [パスケース](#パスケース-pathcase)             | path/case         | /(スラッシュ)   | （特に指定なし）       | （特に指定なし） |
| [ローワーケース](#ローワーケース-lower-case)         | lower case        | (スペース)      | 小文字                 | 小文字   |
| [アッパーケース](#アッパーケース-upper-case)         | UPPER CASE        | (スペース)      | 大文字                 | 大文字   |
| [タイトルケース](#タイトルケース-title-case)         | Title Case        | (スペース)      | 大文字                 | 小文字   |
| [センテンスケース](#センテンスケース-sentence-case)       | Sentence case     | (スペース)      | 大文字（最初の単語のみ） | 小文字   |


## キャメルケース (camelCase)

**別名:** ローワーキャメルケース  
**由来:** 単語の先頭を大文字にすることでラクダのこぶのように見えることから
**例:**
```js
// 変数名
userName
lastName
userId
updatedAt

// 関数名
getUserName
isInRange
```
**使用例:** JavaScript や Java など、多くのプログラミング言語で変数名・関数名として広く利用されています。

## パスカルケース (PascalCase)

**別名:** アッパーキャメルケース、CapWords  
**由来:** プログラミング言語 Pascal の影響により普及したことから
**例:**
```js
// クラス名
UserTable
ArticleModel
PageController

// enum の値
Blue
InvalidArgument
BadRequest
NotFound
```
**使用例:** クラス名、型名、enum の定数など

## スネークケース (snake_case)

**別名:** ローワースネークケース  
**由来:** アンダーバーが蛇の体の曲線のように見えることから？
**例:**
```js
// 変数名
user_name
last_name
user_id
updated_at

// 関数名
get_user_name
is_in_range
```
**使用例:** Python や Ruby など、スクリプト言語で変数名や関数名に頻繁に用いられます。

## アッパースネークケース (UPPER_SNAKE_CASE)

**別名:** —  
**由来:** スネークケースをすべて大文字にしたものであることから。
**例:**
```js
// 定数やマクロ
MAX_VALUE
DEFAULT_CONFIG
ERROR_MESSAGE
```
**使用例:** C 言語や C++、Java などで定数の命名に用いられています。グローバル変数や環境変数でも使われています。

## パスカルスネークケース (Pascal_Snake_Case)

**別名:** パスカルアンダースコアケース  
**由来:** パスカルケースの各単語頭文字とスネークケースのアンダーバーを組み合わせたことから
**例:**
```js
User_Table
Article_Model
Page_Controller
```
**使用例:** ファイル名や定義の識別子として

## ケバブケース (kebab-case)

**別名:** ハイフンケース、ローワーケバブケース、チェインケース
**由来:** 単語がハイフンで連なる様子がケバブの串に似ていることから
**例:**
```bash
user-name
last-name
user-id
updated-at
```
**使用例:** URL や CSS のクラス名、ファイル名などでよく利用されます。

## コボルケース (COBOL-CASE)

**別名:** —  
**由来:** COBOL 言語で伝統的に使われてきた命名規則に由来  
**例:**
```cobol
USER-NAME
LAST-NAME
USER-ID
UPDATED-AT
```
**使用例:** 主にレガシーシステムや COBOL のコードで見受けられます。

## トレインケース (Train-Case)

**別名:** —  
**由来:** 各単語が列車の車両のように連なっている様子から  
**例:**
```js
User-Name
Last-Name
User-Id
Updated-At
```
**使用例:** PowerShellのコマンドレット(組み込みコマンド)で使用されています。

## ドットケース (dot.case)

**別名:** ドット記法  
**由来:** 単語間をドットで区切ることで階層や関係性を示唆するため  
**例:**
```txt
user.name
last.name
user.id
updated.at
```
**使用例:** ファイル名、設定ファイル、モジュール名などに利用されます。

## パスケース (path/case)

**別名:** スラッシュケース  
**由来:** ファイルパスや URL のディレクトリ表現に類似しているため  
**例:**
```txt
path/case
user/name
config/file
```
**使用例:** Web のパスやファイルシステムのディレクトリパスとして使われます。

## ローワーケース (lower case)

**別名:** フラットケース
**例:**
```txt
lower case
user name
last name
```

## アッパーケース (UPPER CASE)

**別名:** キャピタルケース
**例:**
```txt
UPPER CASE
USER NAME
LAST NAME
```

## タイトルケース (Title Case)

**別名:** タイトル表記  
**由来:** 書籍や記事のタイトルのように各単語の先頭文字を大文字にする表現法から
**例:**
```txt
Title Case
User Name
Last Name
```
**使用例:** githubのPRタイトルに使われたりします。

## センテンスケース (Sentence case)

**別名:** センテンス表記  
**例:**
```txt
Sentence case
User name
Last name
```
**使用例:** githubのPRタイトルに使われたりします

## おまけ

[Text Case Converter](https://web-toolbox.dev/tools/text-case-converter)  
このツールは、上記の各種命名規則間でテキストを簡単に変換できて便利です。