アドベントカレンダー企画2日目!!!
こんにちは、kusakaです!いきなりですが名前の付け方って大事ですよね。
12月だな、師走だなと思って年末の大掃除がてらPCの整理をちょっとずつ進めていたのですが、自分のデスクトップの汚なさにドン引きしています。
私は面倒くさがりでローカルのファイル名をよく「ファイル名_(1)コピー(2)」「ファイル名_修正前」とかつけるのでのちの自分を混乱させがちです。
今回はこれをきっかけに自分への戒めをこめて命名規則について書いてみようとおもいます。
なぜ適切な名前をつけないとだめなのか?
思いつく限りは以下のようなデメリットがあげられます。
・何を示しているものなのかわからない(重要)
・最新なのか正しいものなのか判断がつかない
・内容を解き明かすのに時間がかかる
・誤ったコードを書くなどして障害の要因となる
・よくわからないのでゴミだとおもって消してしまう可能性がある
・自分もまわりも忘れたころに混乱する
… などなどいろいろありますが、やっぱり重要なのは何を示しているのかわからないということです。
自分たちがわかればいいじゃないという意見もあるかとおもいますが、、、
もしあなたが退職したら?プロジェクトから外れることになったら?
第三者がこれをみることになるので、引継ぎも一苦労です。
良い名前は自分を助ける
そもそも良い名前とは何か?それは「一目でみてわかる」ことだと思います。
TableauでVizを作るときもWebのデザインするときも、「良いデザインは説明書きがいらない」といわれてきました。
これは命名にも共通する話で、よい名前は何を示しているかがわかりやすく、理解するまでの時間を短縮させてくれます。
メンテナンスのときにわざわざ調べる、名前をよみ間違えて消してしまう…なんてこともなくなります。
良い名前は自分も仕事仲間も助けてくれるものです。
命名の仕方
命名の仕方は昔から「抽象的にするべき」「汎用的な名前を避け具体的にする」の2派がありますが私は後者を重要視しています。
タイパが重要視されている今、何をしているかがわかりやすく、一発でわかりやすいものが好ましいと思います。
ルールとしては最低限以下を遵守しています。
- 略名をつかわない(cd、flg、upd_dtなど。idはOK)
- 一般的な英単語をつける。長くてもOK
- マスタ系は先頭に「master_」をつける。どうしても長いと感じるときは「m_」のみ
- 基本形は「(修飾子)(対象)」とする(count_XXXXなど)
1,2を遵守すれば声に出してよみやすくなるので設計書の読み合わせのときとか会議のときに楽になります
表記のルール
次に、良い名前を付けるために鉄則なのは「ルールを設ける」ことです。
すでにプログラミング界隈では必須知識の変数名表記ルールがあり、そちらに則るのが最速なので今回はそれをご紹介します。
今回は6つのケースについて紹介します。ほかにも派生があるようですが、こちらをおさえておけば間違いがないかとおもいます。
使用するケースは扱うシステムなどに適したものを評価して選定するのが良いかと思います。
データベースで扱う場合などは大文字小文字を区別しないものが多いのでスネークケースが採用されることが多いと思います。
ハンガリアン記法だけ異色ですね。上記の例だと「文字型(string)のSampleColumn」、「日本円での値が入っているSampleColumn」をそれぞれ表しています。
前者はシステムハンガリアン、後者はアプリケーションハンガリアンと呼ばれています。
命名規則の参考となるツール
色々書きましたが、ルールをすべて覚えきれない…わからない…という方も多いはず。
そんな方に役立つcodicという便利サイトがあります。
命名するときに困ったら、単語を入力するだけで一定のルールに則ったネーミングを出力してくれます。
設計するときなどにcodic上で入力したものを使ってもらうようにすればルールから外れた名称が存在することもなく共通ルールのものがつくれます。
サインアップすれば辞書登録もできますのでお試しあれ。
以下のサイトも非常に参考になります。
https://www.softel.co.jp/blogs/tech/archives/627
おまけ
命名規則とは全然関係ないですがデスクトップのファイル名を正しいものに命名しなおすのも忙しい方々向けに、私が自作したデスクトップの壁紙を配布します。
使い方はこの壁紙をセット>デスクトップの設定でアイコンの自動整列をはずす>それぞれのファイルを各色に配置するだけ。
ルールが少しでもあれば自分の助けとなります。少しずつ自分を助けていきましょう。