DB設計時、カラム名をシンプルにするとGREP時に困る

少なくともphpの場合の話ね。

カラム名は冗長な情報を省いてシンプルにすべきだ、なんて意見をけっこう見るんですよ。

user(`userId`,`userName`)は冗長だ、
user(`id`,`name`)で良い、という主張ね。

システムの規模次第だけど、きっと他にも
payment(`id`,`name`,`price`)とか、
shop(`id`,`name`,`tel`,`address`)とかあるに決まってるんですよ。

で、ある日、「あのテーブルからnameカラムを削除したい」とか思うじゃないですか。
影響範囲を調べるために全ソースgrepするでしょ?
nameか、'name'(と"name")でgrepするのが精一杯。

phpだからね、カラム名なんて単に連想配列のkeyにぶっ込まれるわけで。
grepした結果、このシステム内のあらゆるnameがヒットするわけですよ。
そこから関係あるものだけを調べるのがどれだけ大変か。

1byteでも惜しいような時代じゃないんだから、
怖がらないで冗長な名前をつけて行こうじゃないか。



表題と関係ないけど、なんでもすぐ省略する変数名にも辟易してます。
なにが$tomだ、これはトムですか?いいえ、$tableOwnMusicです、と来たもんだ。
助けてくれ。

まぁ、冗長で長いからこそ略したくなるという側面もあるので、
一長一短だけどね…。