2011-02-10 11 views
0

NULLを許可しない列に制約がある場合でも、値がデータベースからNULLかどうかをチェックすることをお勧めします。あなたが何を言ってるのか事前データがNULLかどうかのチェック

+1

は、ソフトウェアの重要性に依存します。一般的に、いいえ、おそらく、あなたが医療用ソフトウェア、ミサイルなどを制御しているのであれば... –

+1

あなたのコードに必要な細かさのレベルによります。個人的には、データベースがnullでないように設定された列に対してNULLを許可すると、データベースが破損する可能性があるためです。 – Cyberdrew

答えて

4

おかげでdefensive programmingです。私は、あなたの意見を信頼していないときにそれを練習することが良いと思っています。あなたはあなたのDBを今信用できると思うかもしれませんが、将来的にカラムがどこかでNULL値を持つべきだと決めたらどうしますか?次に、コードを変更しなくてはならないと思ったところで変更する必要がありますか?

(主キーなどのように)変更するつもりがないと思うなら、私はあなたが必要とは思わないでしょう。ある日、スキーマを変更することになった場合に備えて、将来の校正が必要になります。その列がNULLが意味をなさない場合は決してチェックする必要はありません。 commentersが言ったように、あなたがNULLを取得した場合、あなたのDBはおそらくホースであるという点でより大きな問題があります。

0

私はあなたのビジネスロジックでNullをチェックすることをお勧めします。単体テスト時にも特に役立ちます。多分、今ではないかもしれないが将来的に。

0

多くの要因によって異なります。私のプロジェクトの多くでは

は、私がデータを取得したコードからのデータを処理し、コードを切り離すことになる、ユニット・テストを可能にするために努力する(すなわち。データベースに話による。)

私ができるその方法他のソースからデータを供給してデータを処理したコードを再利用する可能性もあります。この場合、論理層への入力値を絶対に保護します。

また、アプリケーションは時間が経つにつれて進化しています。したがって、今すぐnull値を取得することは不可能であっても、ある時点で実装される可能性があり、古いコードが突然書き込まれない処理する。私は個人的には、間違って処理してしまうのではなく、速やかに失敗するようにしたいと考えています。

関連する問題