「損失をもたらす」と避けられるnullが抱える問題

nullを避けるための考え方

nullはプログラムの安全な動作を実現する上で重宝されてきた、いわば文化のような存在です。しかし、上述したような問題の多発から、現在は可能な限り避けることが望ましいとされています。コストの問題を度外視すれば、「絶対にnullが必要」という場面は少ないのも事実です。nullを最小減にとどめるための考え方をご紹介します。

■「Nullability」の判別

問題があるとはいえ、C#から完全にnullを取り除こうとするのは、おおよそ現実的ではありません。コスト面での懸念もあります。そこで重要となるのが、プログラムがnullを許容するかどうかを判別する「Nullability」の考え方です。

C#2.0から搭載された「null許容型」という機能では、値型の場合のNullabilityを型で表現することができます。一方で参照型について常時nullの存在を認めており、拒否という選択肢自体がありません。当然ながらユーザーからは参照型についても判別の機能を導入してほしいという声があがっています。しかし、ソースコードに関わる問題なため、C#としてはこれに対して何のレスポンスも見せていないのが現状です。

いずれにせよ、この判別がnull回避のためキモとなるのは事実です。どうしようもない場合のみnullを許可することで、多くの問題は回避できるでしょう。

nullとの付き合いかた

システム開発環境において厄介な存在であるnullですが、nullを持っている言語があるのは紛れもない事実です。言語開発側の取り組みが始まらないうちは、開発に携わるエンジニアそれぞれがnullとどのように付き合っていくかをよく考える必要があるでしょう。それぞれのシチュエーションにおいて、最適なnullとの付き合い方を検討してみてください。

関連する記事

facebook

案件情報や最新記事をお届けします。
ぜひチェックしてみてください。

geechs

ChatBot

《1分で登録できる!》
Facebook Messengerを使って
最新記事を受け取れます。

利用する