鳩舎

レースしない

適切な名前がつかないモデル

ちょっと目についたので。Dis りたい訳じゃないです。

これ適切な名前が見つからないとき困るんだよなぁ。あとで思いついて変更なんて作業はしたくないし。割り切ってRoomUser式に統一した方が気が楽だと思う。

http://b.hatena.ne.jp/kensatou/20130512#bookmark-145186810

id:kensatou さんの言う『適切な名前が見つからない時』がわからないのでなんとも言いがたいのですが、割りきって RoomUser 式に統一は悪手だと僕は思っています。

大体からして何らかの案件なり要望なり青写真なりをモデルに落とし込んでいる時に『名前がつかないモデル』が出てくるということは、それは何かが噛み合っていない状況のアラートだと思っています。

ぱっと思いつく状況だと

  1. 英語力が足りない: 僕は大抵このパターンなので辞書を引きます。それでもわかんなかったら英語が堪能な同僚に相談です。
  2. そのモデルがなぜ必要なのかを上手に説明できない: 関連モデルなのは知っているけれどそれがなんの関連なのかはわかっていない。仕様書を読んだり、ディレクターと話すといいと思います。
  3. 過去のコードである: 書き直しましょう。

とかかなぁ。他にも起こりうる状況があったら教えてほしいです。適当な名前をつけるならまだしも、適当な名前しか付けられない状況、そのドメインに対する知識や理解が薄いので、バグを埋め込む危険があると思います。

それでも思いつかないなら日本語での呼称をそのまま直訳で英語にするといいと思います。RelationOfRoomWithUser とか。 RoomUser と情報量変わらないですけど、 RoomUser を見た時の『部屋のユーザーっていうモデルなのかな?』という誤解は避けられそうです。