Master と Profile
Rails で開発をしていていつも困るのが「製品情報」みたいな対象の属性データを格納するモデル名。
単純に直訳すればProduct Information とかなるのかもしれませんが、Information(情報)という単語は、あまりに漠然とし過ぎていて、プログラム内で扱うには好ましくありません。*01それがどの様な「情報」を指すのかわからないからです。
で、データベース的な命名規則に従うとProduct Master とか付けたりするのですが、これもRails のスタイル*02データベースをあまり意識せずに済む…はず から考えると、ちょっとチガウ気がします。*03データベースではMaster とかTransaction とかWorking とか、そのテーブルが前提とする「扱われ方」で名前が付いたりする場合が多いのです。
で、辿り着いた名前候補がProfile と Attribute です。
冒頭に挙げた「製品情報」ならProduct Profile もしくはProduct Attribute となるわけです。
まあ、Attribute はRails モデルクラスに使われるActiveRecord のプロパティに既に存在していてややこしいので、Profile かな。
こんな感じで、名前ひとつ決めるのにかなりあれこれと思い悩むのでした。
実は処理内容そのものよりも、名前をどうつけるか考えている時間の方が長いかも…。