質問するログイン新規登録
命名規則

命名規則は、プログラミングする際に識別子の名称である文字列を決める表記法のことです。ネーミング規則・ネーミング規約・命名規約とも呼びます。

初心者

初心者は、プログラミングやITに不慣れな方が、基礎的な知識やスキルを身につける際に直面する疑問や課題に関する投稿に使用されます。入門書や学習サイトで学び始めた方、初めての開発環境構築でつまずいた方などに向けた質問が多く見られます。

Q&A

3回答

386閲覧

変数や関数の命名規則について

driven

総合スコア0

命名規則

命名規則は、プログラミングする際に識別子の名称である文字列を決める表記法のことです。ネーミング規則・ネーミング規約・命名規約とも呼びます。

初心者

初心者は、プログラミングやITに不慣れな方が、基礎的な知識やスキルを身につける際に直面する疑問や課題に関する投稿に使用されます。入門書や学習サイトで学び始めた方、初めての開発環境構築でつまずいた方などに向けた質問が多く見られます。

0グッド

1クリップ

投稿2025/07/26 06:42

編集2025/07/26 06:46

0

1

変数や関数の命名規則に迷うことが多く、困っています。品質の保たれたコードを書くためには、適切な命名規則に従うことが重要だと理解しているのですが、どうやったら困らずに書けるようになるのかが分かりません。

例えば、boolean型の変数ではis、has、can、should などの接頭辞を付けるべきか、どれを使うべきかとか品詞同士の繋ぎ方とかgetはどういう時に使うかとか

特に、JavaScriptにおける変数や関数の命名規則、もしくは参考になるサイトやドキュメントがあれば教えていただけないでしょうか?

また、上記以外にも、命名規則に関して注意すべき点や、良い例、悪い例などがあれば教えていただけると嬉しいです。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2025/07/26 07:11

> 変数や関数の命名規則に迷うことが多く、困っています。 それは共同開発をする上での悩みでしょうか?
driven

2025/07/26 07:45 編集

> それは共同開発をする上での悩みでしょうか? 共同開発する上での悩みであってます!
fana

2025/07/26 11:08

> 例えば、boolean型の変数ではis、has、can、should など…… ちょっと前に「 bool 型の変数に XXflag という名前を付ける奴とは働きたくない」みたいなお気持ち表明がありましたよ. https://teratail.com/questions/mmi3l2eah8p5qw
guest

回答3

0

個人的な感想レベルの話になってしまいますが、参考まで。

変数や関数の命名規則に迷うことが多く、困っています。
どうやったら困らずに書けるようになるのかが分かりません。

僕もいつももっとよい方法は無いかなぁと思いながらコーディングしています。
いろいろな方法を試して、自分やチームに合う方法をみつけていくしかないだろうと思います。

例えば、boolean型の変数ではis、has、can、should などの接頭辞を付けるべきか、どれを使うべきか

自分(達)で決めればよいのです。どうしたらいいかは一概には言えません。

getはどういう時に使うかとか

何か情報を「取得」するときでしょう

そして、こうしたらよかったよというような情報を公開すれば、他の人の助けになるでしょう。

特に、JavaScriptにおける変数や関数の命名規則、もしくは参考になるサイトやドキュメントがあれば教えていただけないでしょうか?また、上記以外にも、命名規則に関して注意すべき点や、良い例、悪い例などがあれば教えていただけると嬉しいです。

今、検索してみたらいろいろ出てきましたので、参考にすればいいでしょう。これが決定版で間違いないというようなものは無いと思います。

品質の保たれたコードを書くためには、適切な命名規則に従うことが重要だ

どれくらい重要かというとたいして重要では無いと思っています。モジュール内であまりにもばらばらだったりすると、読み難くて困るなということはありますが、それでも製品の品質はそれほど関係ないと思います。

投稿2025/07/26 13:36

TakaiY

総合スコア14570

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

プロジェクトでルールが制定されていれば原則それに則った命名が良いと思います。
そうでなければ一般的に広く使われているものを採用すると混乱が少なくなるかと思います。
有名なライブラリのドキュメントでの使用例やオープンソースで多く使われている記法を参考にするのも良いと思います。後は個人的な好みになるかと思います。(小文字大文字、どこまで省略形にするかなど)

投稿2025/07/26 08:09

meg_

総合スコア11007

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ツール名、クラス名、定数名には名詞
関数には動詞

というのが自然というのはあるのですが、変数名にはこれといったものは無いです。
質問を覆しますが、変数名は手続きで必要だとか文法上必要なだけというのがほとんどの人は無意識にでも分かっているので変数名に着目はあまりせず手続きの方に着目します。その方がミスも少ないです。
変数名が適切だと処理フローを追う必要を省略可能という一定のメリットはあるものの、そこまで複雑な処理フローが出てくるのであればそれ自体が問題なのであって変数名の問題と捉えるのは転嫁にしかなりません。

また、JavaScriptのようなスクリプト言語で書かれるプログラムは使い捨ての傾向が高いので、変数名をいちいち構うのは無駄です。
もし少しでも規模が大きいのであれば、関数名やクラス名にこだわるべきでしょう。

仮に変数名にこだわるのであれば、プログラム上自然な命名であるべきで参照される時の状態を示しているのがベターです。
代入についてはコメントを付けるか、意図のわかるフローにするかといった方法が考えられます。
自然な名詞自体については、英語の理解か経験かで蓄えるしかありません。
こんなサイトもありますが、網羅しているとは思えません。
https://qiita.com/Ted-HM/items/7dde25dcffae4cdc7923

ちなみに、is, has, can, shouldですが、is, hasで枝分かれしているのは使いづらくわかりづらいケースも多いですし、can, shouldはそもそもとして微妙です。(造語だとしても接尾辞、ableだったりを使う方が自然)
使ってはいけないということはありませんが、不自然になるくらいなら使わない方が良いと思います。

変数名について動詞の過去形を使うというのも一つの手です。

投稿2025/07/26 07:19

u2025

総合スコア55

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問