TeoricoHomeBlogAboutContactホーム>【Web&プログラム】命名規則のNGと考え方について【Web&プログラム】命名規則のNGと考え方について【Web&プログラム】命名規則のNGと考え方について2017-09-13CSSのclass名やid名、プログラムの変数名や関数名などの命名規則に悩まれていませんか?プログラムやCSSを書くのが初心者の方は命名規則のNGって知っていますか?命名規則とは簡単に言うと、コーディングなどを行う際にclass名やid名、変数名などにつける文字列を取り決めたルールみたいなものです。この命名規則をきちんと守ることで、ソースコードの可読性やメンテナンス性を保持することが出来ます。プログラムに関しては設計書の中に書かれていることがありますが、自分で組んだりする場合は一応決めておいた方が良いでしょう。NGはあるの?あります。命名規則の根本的なものとして・予約語や定数は使えません(予約語の説明はこのあとで記述します)・最初に数字や記号(一部を除く)が来ることは許されませんというものがあります。予約語とは、メソッドや関数、演算子などで使われているものです。JavaScriptであれば・for・if・and・thisなどです。省きましたが、こういうものです。詳しくはこちらのMDNのサイトなどを参考にしてみてください。定数は・TRUE・FALSE・nullなど。仕様として準備してある名前なので、これと同じ名前は使えない。覚えたらよいかと思います。←数字が最初なのでNG数字は基本ほとんどにおいてNGですが、記号の場合は書くものによって違います。CSSはハイフン(-)アンダースコア(_)は使用可能*ただし、ハイフンから続く数字はNG,またハイフン二つから始めるのもNGJavaScriptはアンダースコア(_)やドルマーク($)が使用可能こういった事も配慮しておかなければなりません。基本的にはハイフンやアンダースコアは区切りとして利用するのがオススメです。理想的な命名規則は?何を表しているのかを考えてみるといいかも知れません。言うと自分自身が書くだけ、読むだけならいいかもしれませんが、チームでする場合や他の人も見ることがほとんどですし、制作後に他の人に渡る事も十分にありえます。あれば、可読性やメンテナンス性を考えて命名するのが理想かと思います。←これ教科書とかにも意外に多いのですが正直、何の変数!?ってなります。日本語をローマ字表記にするのであれば、Google翻訳を利用してその日本語を英語に変えるなどを検討して見てください(個人的によく使います)命名規則に悩んだらこれはあくまでも私の考え方なのですが、途中で記述したように何に使用するのか、何を表しているのかなどをまず考えます。それを英語に変換します。CSSであれば単語をハイフンやアンダースコアで繋ぎます。例)class=”main–image”プログラムの場合であれば、繋ぎを無くし、二つ目の英単語から大文字にします。MAINIMAGEなどこのようにして考えています。(参考になれば・・・)ただ、注意すべき点として堅くならないようにしています。堅くならないとはどういうことかというと、何を表しているのかに固執し過ぎるということです。まとめ命名規則に正解はないのかもしれませんが、避けた方が良いことは多いですし、NGもあります。私自身もあとで自分のソースコードを見て、なんだこの名前は!ってなることもしばしばあります。誰が扱うかわからないということを考えて、誰が見てもわかるような名前で考えてみるのが良いかも知れませんね。