データ項目名が生産性の上限を規定する、の法則

データベースフィールド名にしろ、DTOのプロパティ名にしろ、フォームが送信するクエリパラメータ名にしろ、

  1. 同じものに違う名前をつけない
  2. 違うものに同じ名前をつけない

の原則を破ると、プログラマが混乱してシステム開発の生産性が下がる。

  • 同じ意味のクエリパラメータ名が、ページを遷移するごとに変わる
  • DTOのプロパティ名と、データベースフィールド名が違う
  • joinカラムの名前が2つのテーブル間で違う
  • 全部のテーブルに id という名前の primary key フィールドがある

こういうのは全部、むだに生産性を下げる要因。
フレームワークマッピングをやってくれるから、いいんだ」という話もあるが、それはフレームワークが扱いやすいユースケースしか実装してないから、問題に気づいてないだけかもしれない。フロントエンドしかないペットショップのサンプルアプリでは、フレームワークの問題は網羅できない。