命名規則とは #
プログラミングにおける命名規則とは、変数名や関数名、クラス名などに対して一貫したルールを設けることを指します。
これにより、コードの可読性や保守性が向上し、特に会社や組織など複数人での開発においては、チーム全体の生産性を高める効果があります。
なお、命名規則はコンパイラや言語仕様によって強制されるものではなく、あくまでベストプラクティス(推奨される慣習)として採用されるものです。
そのため、規則に反した名前として命名した場合であってもプログラムは正常に動作します。
こうした背景から、個人レベルで利用するツールや小規模なシステム開発の場合は、規則に縛られない柔軟な命名でも特に問題はありません。
ただし、将来的にチーム開発へ移行する可能性や、コードをパブリックに公開する場合は個人開発であっても命名規則を意識したコーディングを行うことが望ましいとされています。
主要とされるスタイル #
命名規則には、いくつかの代表的なスタイルが存在します。
これらは、プログラムの構造や用途、対象となる要素(変数、関数、クラス、定数など)によって使い分けられます。
以下は、主要な命名スタイルとその特徴をまとめた表となります。
スタイル名 | 記述例 | 特徴・用途 |
---|---|---|
スネークケース(snake_case) | user_name |
単語をアンダースコアで区切る。読みやすく可視性が高い。 |
キャメルケース(camelCase) | userName |
先頭は小文字。以降の単語の先頭を大文字に。変数・関数などで使用される。 |
パスカルケース(PascalCase) | UserName |
すべての単語の先頭を大文字に。クラス名や型名に使われる。 |
スクリーミングスネークケース(SCREAMING_SNAKE_CASE) | MAX_VALUE |
全て大文字+アンダースコア。主に定数名に使用される。 |
ケバブケース(kebab-case) | user-name |
単語をハイフンで区切る。主にファイル名やURLなどで使用される。 |
以下は主要プログラミング言語における命名規則をまとめた表となります。
言語 | 命名スタイル | 公式ガイドライン |
---|---|---|
Rust | スネークケース | Rust Style Guide |
Java | キャメルケース | Code Conventions for the Java Programming Language |
C++ | キャメルケース | Google C++ Style Guide |
Python | スネークケース | PEP 8 – Style Guide for Python Code |
JavaScript | キャメルケース | JavaScript Style Guide - W3Schools |
Go | キャメルケース | Effective Go |
Swift | キャメルケース | Swift API Design Guidelines |
Kotlin | キャメルケース | Kotlin Coding Conventions |
Scala | キャメルケース | Scala Style Guide |
Haskell | キャメルケース | Programming guidelines - HaskellWiki |
Rustにおける命名規則 #
Rustの公式スタイルガイドでは、コードの可読性と保守性を高めるために、各要素に対してい以下の命名規則が推奨されています。
項目 | 命名規則 |
---|---|
変数名 | snake_case |
関数名 | snake_case |
メソッド名 | snake_case |
型名(構造体、列挙体) | UpperCamelCase |
トレイト名 | UpperCamelCase |
定数名 | SCREAMING_SNAKE_CASE |
静的変数名 | SCREAMING_SNAKE_CASE |
マクロ名 | snake_case! |
型パラメータ | 単一の大文字 |
ライフタイム | 単一の小文字 |