こんにちは。blueです。
今回は@yamato_1413さんに教えていただいた変数命名の為のツールについて紹介します。
私はこれを教えていただく前まで変数の命名については『コードを書くより時間かかってるんじゃね?』くらいな感じだったので参考にしていただければ幸いです。
ちなみに今回紹介するのは英語での命名法についてです。日本語で命名されている方は関係ないのでご了承ください。
また最初からツールを聞いても意味が分からないと思われるので自分が勉強したサイトも含めて紹介します。
プログラミングの一般的な命名法
一般的によく知られているものは以下になります。
- キャメル記法
- パスカル記法
- スネーク記法
- チェーン記法
- ハンガリアン記法(ノーテーション)
ハンガリアン記法だけ別にしているのは後で説明します。
それぞれの語源やルールについての記載は以下のサイトに詳しく書かれていました。
キャメル記法は『らくだ』、ハンガリアン記法は『ハンガリー出身の方が作った』など、うんちくもあるので忘れにくかったです。
簡単にまとめると
- キャメル記法(ローワーキャメル)・・・単語ごとに大文字にする。最初は小文字
- パスカル記法(=アッパーキャメル)・・・単語ごとに大文字にする。最初は大文字
- スネーク記法・・・単語間に_(アンダーバー)を入れる
- チェーン記法・・・単語間に-(ハイフン)を入れる
になります。
単語ごとに大文字にしたり、区切り文字を入れることで名前をわかりやすくするということですね。
一方ハンガリアン記法の違いについては以下のサイトが参考になりました。
変数名などには日本語を使うべきと強く勧められている和風スパゲティさんのサイトです。
VBAではキャメルケース(=ローワーキャメル+アッパーキャメル)が多いとのことや、ハンガリアンを使うケースなども記載してくださっています。
なお今回のポイントは「上記4つとハンガリアン記法は考え方が異なる」です。
上記4つは『単語の区切り方』に着目していて、ハンガリアン記法(ノーテーション)は『単語に変数名をいれる』ことに着目しているということになります。
ノーテーションというのは「ある特定の記号・符号による表記法」という意味で、略語や記号などでわかりやすく明示する方法になります。楽譜の記号やEngineeringの材質明示にも使われています。
ハンガリアン記法はあくまで変数名を入れることを目的としているので上記4つとは異なるということがわかっていただければと思います。
これらを読んでいただければ命名法のルールについてはわかっていただけると思います。
プログラマーのためのネーミング辞書『Codic』
さて、命名法について一通り理解したところで本題に入ります。
『Codic』は翻訳エンジンを搭載したネーミングサイトです。
日本語でそれっぽい単語を書くと英語に翻訳してくれます。
使い方はいたって簡単です。
1 サイトにアクセスし、「使ってみる」をクリックする(ちなみにログイン不要)
2 左上の「Aa」をクリックし、記載したい記法を選択する。
ハンガリアン記法がないのは先ほど説明したとおりです(変数の型を入れるのが目的ではない)。
あとはそれっぽい日本語を書くだけです。以下では『ラインにメッセージを送る』関数名を作ろうとしています。
たったこれだけでそれっぽい変数名がつけられます。
おまけ
こちらも @yamato_1413さんに教えていただいたものですが変数の命名法についてわかりやすく書かれている書籍です。
1章で関数名についての記載がされていますが get~はよくないとか動詞の使い方についても細かく言及されています。Pythonを勉強しようとされている方は設計から含めて勉強になるのでお勧めです。
まとめ
今回は変数や関数の命名法についてと簡単に名前が付けられるツールの紹介をしました。
コードを作るためにプログラミングを勉強しているのに名前を付けるのに時間がかかってしまってはもったいないです。
使えるツールはどんどん使って、必要なところに頭を使うようにしましょう。
コメント