文字列は常にNULLに初期化してきました。NULLは値がないことを意味し、 ""またはString.Emptyは有効な値です。String.Emptyがデフォルト値と見なされるか、値を表さないコードの例を最近見ました。これは奇妙な印象を与えます。c#に新しく追加されたnull許容型を使用すると、NULLを使用せずに「値なし」を表すことにより、文字列を後方に進めているようです。
デフォルトのイニシャライザとして何を使用していますか、またその理由は何ですか?
編集:私のさらなる考えにさらに答えに基づいて
エラー処理の回避値をnullにしてはいけないのに、そもそもなぜそれが設定さ
NULL
れたのですか?おそらく、コードベースの残りの部分全体をカバーするよりも、エラーが発生した場所でエラーを特定する方が良いでしょうか?nullチェックの回避コードでnullチェックを行うことにうんざりしている場合は、nullチェックを抽象化する方が良いのではないでしょうか。おそらく、それらを
NULL
安全にするために文字列メソッドをラップ(または拡張!)常に使用String.Empty
していて、nullがシステムに機能している場合はどうなりますNULL
か?とにかくチェックを追加し始めますか?
怠惰だという意見に戻らざるを得ません。null
データベースで''の代わりに ''を使用した場合、どのDBAも9つの方法で愚かなことをするでしょう。私は同じ原則がプログラミングにも当てはまると思います。価値を表すのString.Empty
ではなく、頭の中で使用している人を叩く人がいるはずNULL
です。
関連する質問