分岐を書いたら負け

C# で言えば主に switch 文を見つけたら抹殺する方向にいる。動作が固定で異なるんだったら別のクラスにすべきだし、そうじゃなくて何か動的に変化するんだったらテーブル参照のような形にして「マスターテーブルを別に管理」。動的ってことはフニャフニャなわけで、後で仕様が変更になる可能性が高いからだ。

マスターテーブルの置き場所はSQLServerのこともあれば、設定ファイルのこともある。この辺は実行速度とかセットアップの手間とかとのトレードオフで。

テーブル参照と繰り返しで処理を記述する、分岐を書いたら負け、という制約を考えると SQL 文ってそういう制約をなるべく押しつけるように作ってあったのかなと。すでに手続き型言語にかなり汚染されてしまったけど。

…といったあたりを鑑みて「SQL文による宣言的記述を再構築しよう」という試みが ADO.NET Entity Framework + LINQなのかもしれん。再構築途上なんで、現状での実戦投入はなかなか厳しそうな印象があるけど。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。