データ項目名が生産性の上限を規定する、の法則
データベースフィールド名にしろ、DTOのプロパティ名にしろ、フォームが送信するクエリパラメータ名にしろ、
- 同じものに違う名前をつけない
- 違うものに同じ名前をつけない
の原則を破ると、プログラマが混乱してシステム開発の生産性が下がる。
- 同じ意味のクエリパラメータ名が、ページを遷移するごとに変わる
- DTOのプロパティ名と、データベースフィールド名が違う
- joinカラムの名前が2つのテーブル間で違う
- 全部のテーブルに id という名前の primary key フィールドがある
こういうのは全部、むだに生産性を下げる要因。
「フレームワークがマッピングをやってくれるから、いいんだ」という話もあるが、それはフレームワークが扱いやすいユースケースしか実装してないから、問題に気づいてないだけかもしれない。フロントエンドしかないペットショップのサンプルアプリでは、フレームワークの問題は網羅できない。