差分
Nullチェック
,'''nullチェック'''とは、[[エラーチェック]]のひとつで、[[変数]]が[[null]]でないかをチェックし、いわゆる[[ヌルポ]]や[[ヌルリ]]と言った実行時の[[エラー]]を防ぐことをいう。
通常はif文で[[変数]]が[[null]]でないかを逐一チェックして、nullであれば適切なエラー処理を行う。ただしif文を用いる方法は変数が増えるとif文が増えまくって[[ソースコード]]の[[可読性]]が絶望的になる。このような状態を[[nullチェック地獄]]という。
最近流行の手法は「[[契約による設計]]」を用いてnullチェックを行うというものである。[[C Sharp|C#]]であれば[[コードコントラクト]]という[[フレームワーク]]が用意されている。[[C++]]であればassert(の中に[[コンパイル]]時に警告を出すcassert)が用意されている。
また、[[C Sharp|C#]]では、[[null合体演算子]]をもちいて強引にnull以外のデフォルト値を設定するという手法が用いられることもある。
== 関連項目 ==
* [[null]]
* [[ぬるぽ]]
* [[ぬるり]]
* [[契約による設計]]
* [[メソッドチェーン]]
== 参考文献 ==
<references/>
== 外部リンク ==
{{stub}}
通常はif文で[[変数]]が[[null]]でないかを逐一チェックして、nullであれば適切なエラー処理を行う。ただしif文を用いる方法は変数が増えるとif文が増えまくって[[ソースコード]]の[[可読性]]が絶望的になる。このような状態を[[nullチェック地獄]]という。
最近流行の手法は「[[契約による設計]]」を用いてnullチェックを行うというものである。[[C Sharp|C#]]であれば[[コードコントラクト]]という[[フレームワーク]]が用意されている。[[C++]]であればassert(の中に[[コンパイル]]時に警告を出すcassert)が用意されている。
また、[[C Sharp|C#]]では、[[null合体演算子]]をもちいて強引にnull以外のデフォルト値を設定するという手法が用いられることもある。
== 関連項目 ==
* [[null]]
* [[ぬるぽ]]
* [[ぬるり]]
* [[契約による設計]]
* [[メソッドチェーン]]
== 参考文献 ==
<references/>
== 外部リンク ==
{{stub}}