IT業界用語

スネークケース(snake_case)とは?現役プログラマーが解説

スネークケース(snake_case)とは、各スペースをアンダースコア(_)に置き換え、各単語の最初の文字を小文字にして書くスタイルのことです。

コンピュータの世界では、変数名やサブルーチン名、ファイル名などによく使われる命名規則です。

ある研究によると、読者はキャメルケースよりもスネークケースの方が早く認識できるとのことです。

 

スネークケースの歴史

 

アンダースコアを単語の区切りに使うようになったのは、1960年代後半にさかのぼります。

特にC言語に関連しており、『The C Programming Language』(1978年)の中でpascal case(キャメルケースの一種である)と対比されています。

しかし、この慣習には伝統的に特定の名前がなく、Pythonプログラミング言語スタイルガイドでは単に「lower_case_with_underscores」と呼ばれていました。

Usenetでsnake_caseという言葉が初めて見られたのは2004年のRubyコミュニティで、Gavin Kistnerが使っていたことに由来します。

"ところで...そのネーミングスタイルを何と呼ぶのか、誰かが訂正してくれるまで、私はスネークケースと呼ぶことにします。"

と書かれていました。

しかし馬がら、元インテルのエンジニアであるジャック・ダールグレンは、2002年にインテルの内部で(おそらくマイクロソフトのエンジニアとの対話の中で)この言葉を使っていたと述べていることもあるようで、

まあ、そのようにして、この言葉が複数のコミュニティで独自に発展した可能性もあります。

2015年現在、複数語の識別子のための他のデリミタで区切られた命名規則の名前は標準化されていないわけですが、

lisp-case、kebab-case、SCREAMING_SNAKE_caseなど、使用レベルが上がっている用語もあります。

 

スネークケースを慣習的に使用するプログラミング言語のリストはこんな感じです。

  • 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, 変数名、関数名、メソッド名、モジュール名、マクロ

 

Pocket
LinkedIn にシェア

  • この記事を書いた人

藤沢瞭介(Ryosuke Hujisawa)

りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

-IT業界用語

Copyright© off.tokyo , 2021 All Rights Reserved Powered by AFFINGER5.