命名規則 の比較
比較
| 種別 | Python | Ruby | Java | C++ | Swift | PowerShell | PHP |
|---|---|---|---|---|---|---|---|
| ローカル変数 | snake_case | snake_case | camelCase | camelCase or snake_case | camelCase | $camelCase | $camelCase / snake_case($list_item) |
| グローバル変数 | UPPER_CASE | $snake_case | camelCase(非推奨) | g_variableName | globalVariableName | $global:camelCase | $GLOBALS['NAME'] / 定数: UPPER_CASE |
| static変数 | snake_case or UPPER_CASE | @@class_var | camelCase or UPPER_CASE | s_variableName / kConstantName | staticVariableName / static let CONSTANT_NAME | [ClassName]::StaticProperty | private static $var / const 定数 |
| メンバ変数 | self.snake_case | @snake_case | camelCase | m_variableName / _variableName | camelCase | $this.PropertyName | private $camelCase / $snake_case |
| クラス名 | CamelCase | CamelCase | CamelCase | CamelCase | CamelCase | PascalCase | PascalCase |
| クラスのファイル名 | class_name.py | class_name.rb | ClassName.java | ClassName.cpp | ClassName.swift | ClassName.ps1 | ClassName.php |
| メソッド名 | snake_case | snake_case | camelCase | camelCase | camelCase | PascalCase * | camelCase |
補足
- Python: PEP8 が公式スタイル。クラス属性で先頭に _ を付けて「非公開」を表現することがある
- Ruby: @ はインスタンス変数、@@ はクラス変数、$ はグローバル変数
- Java: クラス名と定数は UPPER_CASE_WITH_UNDERSCORES を使うことが多い
- C++: プロジェクトによって命名規則に差がある。m_ や s_ などの接頭辞も見られる
- Swift: Apple のガイドラインでは極力明示的なプレフィクスを避け、camelCase を基本とする
- PowerShell: 関数/コマンドレットは Verb-Noun (例:
Get-Item)