
スネークケース(snake_case)とは?現役プログラマーが分かりやすく解説します!
プログラミングをしていると、命名規則という言葉に出会うでしょう。
命名規則は、正しくコードを書いていく上でとても大切なルールです。
本日の記事では、プログラミング言語の命名規則の一つ、スネークケース(snake_case)を紹介します。
スネークケース(snake_case)とは?
スネークケース(snake_case)とは、単語の各スペースをアンダースコア(_)に置き換える書き方のことです。
各単語は頭文字を小文字にすることも特徴の一つです。蛇のような見た目をしていることから、スネークケース(snake_case)と読まれるようになりました。
実例を見てみましょう。
const user_name = "佐藤太郎"
このように、アンダースコア(_)を使って、変数名を定義していますね。
命名規則はチームやプログラミング言語に寄って変わりますが、変数名や、ファイル名によく使われる命名規則です。
ある研究によると、キャメルケースよりもスネークケースの方が、コードを読むとき、早く認識できるとのことです。
スネークケースの歴史
アンダースコアを単語の区切りに使うようになったのは、1960年代後半にさかのぼります。
特にC言語に関連しており、『The C Programming Language』(1978年)の中でpascal case(キャメルケースの一種である)と対比されています。
しかし、この慣習には伝統的に特定の名前がなく、Pythonプログラミング言語スタイルガイドでは単に「lower_case_with_underscores」と呼ばれていました。
snake_caseという言葉が初めて見られたのは2004年のRubyコミュニティで、Gavin Kistnerが使っていたことに由来します。
“ところで…そのネーミングスタイルを何と呼ぶのか、誰かが訂正してくれるまで、私はスネークケースと呼ぶことにします。”
と書かれていました。
しかし、元インテルのエンジニアであるジャック・ダールグレンは、2002年にインテルの内部で(おそらくマイクロソフトのエンジニアとの対話の中で)この言葉を使っていたと述べていることもあるようで、
まあ、そのようにして、この言葉が複数のコミュニティで独自に発展した可能性もあります。
スネークケースを慣習的に使用するプログラミング言語のリスト
最後に、スネークケースを慣習的に使用するプログラミング言語のリストを紹介します。
- ABAP
- C++, Boost
- C、標準ライブラリの一部の型名
- Eiffel, クラス名および機能名
- Elixir, アトム名、変数名、関数名
- Erlang, 関数名
- GDScript、変数名および関数名
- Java:静的なfinal定数とenumの値
- OCaml, 値、型、モジュール名
- Perl, レキシカル変数とサブルーチン
- Oracle SQL and PL/SQL
引用されていないsnake_case識別子は、実際には内部的にはSCREAMING_SNAKE_CASE識別子として表現される - Prologでは、アトム(述語名、関数名、定数)
- Pythonは、変数名、関数名、メソッド名、モジュールやパッケージ(=ファイル)名
- PHP では、クラス定数に SCREAMING_SNAKE_CASE を使用
- R, 変数名、関数名、引数名
- Rubyでは、変数名、メソッド名
- Rust, 変数名、関数名、メソッド名、モジュール名、マクロ
皆さんも、是非チームで、どの命名規則を使うか、ルールを決めて取り組んでください!開発効率も上がるはずです。