NULLを許可しない列に制約がある場合でも、値がデータベースからNULLかどうかをチェックすることをお勧めします。あなたが何を言ってるのか事前データがNULLかどうかのチェック
0
A
答えて
4
で
おかげでdefensive programmingです。私は、あなたの意見を信頼していないときにそれを練習することが良いと思っています。あなたはあなたのDBを今信用できると思うかもしれませんが、将来的にカラムがどこかでNULL値を持つべきだと決めたらどうしますか?次に、コードを変更しなくてはならないと思ったところで変更する必要がありますか?
(主キーなどのように)変更するつもりがないと思うなら、私はあなたが必要とは思わないでしょう。ある日、スキーマを変更することになった場合に備えて、将来の校正が必要になります。その列がNULLが意味をなさない場合は決してチェックする必要はありません。 commentersが言ったように、あなたがNULLを取得した場合、あなたのDBはおそらくホースであるという点でより大きな問題があります。
0
私はあなたのビジネスロジックでNullをチェックすることをお勧めします。単体テスト時にも特に役立ちます。多分、今ではないかもしれないが将来的に。
0
多くの要因によって異なります。私のプロジェクトの多くでは
は、私がデータを取得したコードからのデータを処理し、コードを切り離すことになる、ユニット・テストを可能にするために努力する(すなわち。データベースに話による。)私ができるその方法他のソースからデータを供給してデータを処理したコードを再利用する可能性もあります。この場合、論理層への入力値を絶対に保護します。
また、アプリケーションは時間が経つにつれて進化しています。したがって、今すぐnull値を取得することは不可能であっても、ある時点で実装される可能性があり、古いコードが突然書き込まれない処理する。私は個人的には、間違って処理してしまうのではなく、速やかに失敗するようにしたいと考えています。
関連する問題
- 1. MySQLビューでデータがNULLかどうかチェックする
- 2. オブジェクトがnullであるかどうかをチェック
- 3. 変数がnullかどうかをチェックする方法は?
- 4. nullでないかどうかチェックするBluej(Java)not working
- 5. データが既に存在するかどうかをチェック
- 6. どのようにnullをチェック
- 7. オブジェクトが未定義/ nullであるかどうかをチェックする方法
- 8. mysqlがnull/emptyを返すかどうかをチェックする方法
- 9. 変数がnullでないかどうかをチェックする方法は?
- 10. JSONArray要素がnullであるかどうかをチェックする方法
- 11. FlexでXML値がnullであるかどうかをチェックする方法
- 12. DataGridviewセルがNullであるかどうかをチェックする方法
- 13. NOT NULLチェックが効かない
- 14. ファイルディスクリプタが有効かどうかをチェック
- 15. 画像が同じかどうかチェック
- 16. オブジェクトがあるかどうかをチェック
- 17. タグページがあるかどうかWordpressチェック
- 18. タイプがインタフェースかどうかをチェック
- 19. URLが有効かどうかチェック
- 20. スレッドがブーストスレッドかどうかをチェック
- 21. DataGridviewのセル内のデータがnullかどうかを確認します。
- 22. SQLiteカラムの値をチェックする方法はC APIではNULLかどうか?
- 23. POSTフォームのデータが空であるかどうかをチェックする方法は?
- 24. jquery Mobile:チェックボックスがチェックされているかどうかをチェック
- 25. 整数かどうかチェック
- 26. アンドロイドでデータが返されるかどうかをチェックする方法は?
- 27. double型の変数がnullかどうかをチェックすると、エラーが発生します
- 28. nullの場合、Request.QueryStringの文字列パラメータをどのようにチェックするか?
- 29. Null型データ型は、どこかにジェネレータがありますか?
- 30. はどのようにJSONデータを解析することができるかどうかをチェックする
は、ソフトウェアの重要性に依存します。一般的に、いいえ、おそらく、あなたが医療用ソフトウェア、ミサイルなどを制御しているのであれば... –
あなたのコードに必要な細かさのレベルによります。個人的には、データベースがnullでないように設定された列に対してNULLを許可すると、データベースが破損する可能性があるためです。 – Cyberdrew