読者です 読者をやめる 読者になる 読者になる

どこかのだれかへ

職業ゲームプログラマ。気になったニュースのピックアップや開発日記などを書いています。

気付いたら命名に1時間(CategoryかTypeか)

今日仕事でデータの命名に1時間かけてしまった。データの名前はあとで変更が出来ないので変数の命名なんかよりも数倍気を使う。

気を使うにしても1時間は使いすぎだろとは思うけれど、
この1時間の大半は「○○Category」か「○○Type」のどちらがよいか、というかそもそもCategoryとTypeってなにか違うかをずっと調べていた。

100件のほどのデータがあり、この中からとある種類によって処理を分ける必要があったので、データに識別用の情報を付加することにした。命名するときは既存のデータなどに合わせて命名することがベターな手法なひとつだが、既存のデータには「○○Category」「○○Type」がありどちらが良いのかが迷ってしまった。

英語のWebサイトなどを見て、色々調べた結果、個人的な理解としては以下のように落ちついた(まだ全然すっきりしていないけど)。

  • Categoryはグループ分けする際の括りで、入れ物という意味合いが強い。1つのデータが複数のCategoryにまたがることはない。

  • Typeは性質・特性であり、Categoryに分ける際の指針の一つとなりえる。Typeが違う場合、内部も大きく異なる可能性有り。1つのデータに複数のTypeが当てはまる場合もある(またはそれを1つのTypeとする)。

これが英語的に正しいかは知らない。分かりにくいのはCategoryはTypeで分けることもあるとうことだ。

英語のサイトに紹介されていた一つのチップスで「Categoryはinを使い、Typeはofを使うと考えるとうまく行く」というのがあり、これが大きなきっかけとなった。

実際の仕事では、結局Categoryを使うことにした。が、どちらかというと自然とこの識別データをCategoryと皆で呼んでいたので、それに合わせた感が強かったりする。