IT用語

プログラミングにおける大文字・小文字のルールが分からない…

takahide

おはようございます。Takahideです。

アルファベットで名前を書くときって頭文字だけ大文字で残りは小文字ですよね。

こんなのは私でも分かります。いまどき小学生でも分かります。

でもプログラミングで変数名や関数名を見ていると、「API_URL」とか「getUserName」とか「UserService」とかとか…

大文字と小文字とアンダーバーが入り乱れているじゃありませんか。

きっと一定のルールに基づき記載しているのでしょうが、独学の私にはそれが分からない。

ということで本日はこの、「プログラミングにおける大文字・小文字のルール」を調べていきたいと思います。

こんな人にオススメ
  • 変数や関数の命名規則がよくわからない
  • プログラミングにおける大文字・小文字のルールを知りたい

それでは見ていきましょう。

よく聞く命名ルールの種類を整理してみる

どうやら調べてみると、大文字・小文字の命名ルールには以下の4種類があるようです。

  • camelCase
  • snake_case
  • PascalCase
  • UPPER_CASE

うんうん、大文字・小文字の組み合わせになっていますね。

私が分からなかったのがこれです。

これらは、「読みやすくするためのルール」のようです。
言語や文化ごとに好まれる書き方があり、それを知っておくことで、他人のコードが読みやすくなります。

camelCaseとは

「camelCase(キャメルケース)」は、複数の単語をつなげる際に、2語目以降の先頭を大文字にする命名ルールです。

最初の文字は小文字から始まるのが特徴で、ラクダのこぶのように途中が盛り上がって見えることからこの名前が付いたそうです。

具体例
  • getUserName
  • totalPrice

コードを書かない人からすると馴染みが無いのでオシャレですよね。
つい使ってしまいたくなります。

PascalCaseとは

「PascalCase(パスカルケース)」は、単語の区切りを大文字にする命名ルールです。

camelCaseとは、最初の文字も大文字から始まる点が違います。

具体例
  • UserService
  • OrderDetail

1970年代ごろに人気があったプログラミング言語「Pascal」において、この命名規則が一般的に使われていたため、この名前がついたようです。

snake_caseとは

「snake_case(スネークケース)」は、単語の区切りを「_」アンダースコアで表現する命名ルールです。

具体例
  • get_user_name
  • total_price

snake_caseの場合は、大文字・小文字の区切りが無く、すべて小文字で書かれることが多いようです。

単語が横に連なり、アンダースコアが蛇のように見えることからこの名前が付いています。

UPPER_CASEとは

「UPPER_CASE(アッパーケース)」は、すべて大文字で書き、単語の区切りにアンダースコアを使う命名ルールです。

具体例
  • MAX_COUNT
  • API_URL

これは、英語の「uppercase=大文字」が語源だそうです。

個人的にこの命名ルールは、小指でShiftキーを押し続けなければいけないので好きじゃないです。疲れます。

以上4つが主な命名ルールでした。

言語ごとの大文字・小文字の命名ルール

ここからは、プログラミング言語ごとにどの命名ルールで記載するのか?ということを見ていきます。

例えば、「Pythonだったらsnake_case」、「JavaScriptだったらcamelCase」とか…

そんな言語ごとの違いがあるのか?ということを調べたいわけです。

Python

  • 変数・関数:snake_case
  • クラス:PascalCase
  • 定数:UPPER_CASE

このPythonの命名ルールは、公式スタイルガイドである「PEP8」に記載されているようです。

公式がそのようにおっしゃるならその通りに書くべきなんでしょうね。

Java

  • 変数・メソッド:camelCase
  • クラス:PascalCase
  • 定数:UPPER_CASE

Javaの標準ライブラリ自体がこのルールに従って記載しているようです。

何か公式ドキュメントでそのように明記されているわけでは無いようですが、自然とこの書き方が当たり前として広まったみたいです。

JavaScript

  • 変数・関数・メソッド:camelCase
  • クラス:PascalCase
  • 定数:UPPER_CASE

ブラウザAPIなどの仕様をまとめたドキュメントを見てみると、変数や関数では「camelCase」で記載するのが基本になっているようです。

Ruby

  • 変数・メソッド:snake_case
  • クラス:PascalCase
  • 定数:UPPER_CASE

Rubyのスタイルガイドを見ると、この命名ルールに従って記載されているため、このルールが慣習となっているようです。

どうやらどの言語でも「クラス」「定数」は固定っぽい

さて、ここまで見ていただいた方なら気づいたでしょうか?

  • クラス:PascalCase
  • 定数:UPPER_CASE

この2つはどの言語でも固定されているということに。

そうなんです。
私はてっきり、言語ごとに異なるのかな?と思っていたのですが、どうやら使い方によって分かれているみたいですね。

「クラスならPascalCase」「定数ならUPPER_CASE」確かにこの方が、コードを読んでいる時にも理解がし易そうですね。

ただ、変数や関数・メソッドの命名においては、言語ごとに命名ルールが分かれているみたいなので注意してください。

まとめ

以上、「プログラミングにおける大文字・小文字のルール」でした。

まとめ
  • 命名ルールには、「camelCase」「snake_case」「PascalCase」「UPPER_CASE」の4種類
  • 「クラス:PascalCase」「定数:UPPER_CASE」「変数・関数:言語により異なる」という特徴がある

お疲れさまでした。

ABOUT ME
タカヒデ
タカヒデ
ITを楽しく勉強中
通信会社の企画職で働く30代 非エンジニアでありながら半分趣味でITエンジニアリングやプログラミングを学習中 IT初心者が楽しいと思えるように発信することを目指しています ↓Xもやっているのでフォローしてね
記事URLをコピーしました