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