SQLアンチパターン読了 #sqlap

SQLアンチパターン

SQLアンチパターン

買いました&読みました。開発者であれば読んで損はない良書です。っていうかシステム開発で対価を頂こうって人は読みましょう。
まだまだRDBMSのシステムは無くならないでしょうし、生み出されていくと思われます。転ばぬ先の杖としてこの本の情報があると「あの時ああしとけば良かった」と悔やむことや後任の担当者に恨まれることが少なくなるでしょう。

システム開発を長いことやってて修羅場を経験している人にしてみたら新しい驚きはないと思います。なので、こういう「べからず集」は、情熱はあるけど経験の少ない人にこそ読んで欲しいと考えます。
先人たちの過ちを自らも経験して学ぶ、というのはあまりにも時間がもったいない。
「若いうちの苦労は買ってでもしろ」とは言いますが、誰も経験したことのない苦労をすべきであって、誰かがした苦労は避けた方がいいと思うんです。時間は有限ですもの。失敗から学ぶことは多いですが、すべて体験しなきゃいけないかというとそうでもない(ハズ)。

この本には、誰かがした苦労がたくさん詰まっています。これを読んだ人は少なくともこのような問題からは避けられるはずです。*1
違う問題に遭遇して頭を使うようにしましょうよ。

システムは作って終わりでなく、作ってからがスタート。仕様変更もバシバシくるわけです。本書にはそんな時にも対応できるようなノウハウがたっぷり詰まってます。場当たり的な対応でその場はしのげてもいつか帰ってくるんだぞ、ということが垣間見えるのではないでしょうか。*2


あと、個人的な意見ですが、DBを使ったテストはSlow Testsになりますが、やっておいて損はないと思います。Mockを駆使して使わないようにするのも良いですが、最終的にRDBMSから取得するデータが違ってたら意味ないですし、カラム変更によってデグレっても気づきにくいですしね。結合して始めて「あらら」とならないようにしましょうね。少しでも複雑だなぁと思ったSELECTは自動化の対象にしましょうぜ。

*1:間違った方向に進めようとする上司を説得するネタ帳としても有効ですw

*2:まぁ、いい加減な対応をした人に必ず帰ってくるわけでもないってのが世知辛い世の中ですが