リストの戻り値にNullを返すな

      2016/09/24

戻り値にもNull Objectパターンをちゃんと意識しましょう。

配列、リスト

配列やリストを返すメソッドを作成する際、エラー時の戻り値としてNull(null, NULL)を返すコードを仕事でもたまに見かけます。
この場合、使用側でサイズを知るために、Nullかどうかを判断する必要が出てきます。
必ず、Nullでなく、空(Empty)の配列、リストを返すようにしましょう。
そもそも設計段階でどういう戻り値を返すかを決めていれば良いのですが、過去に自分が途中参画したプロジェクトでは実装者に委ねられていたのか、あるメソッドは空(Empty)を返すし、あるメソッドはNullを返しているという事がありました。

NGケース

OKケース

配列のサイズ0が有効なのは以外に知られていないようです。

文字列

文字列の場合は、ケースバイケースですが、表示用の文字列なら空文字を返すようにしましょう。
Nullをどうしても返す場合は、関数ヘッダに注意書きしておきましょう。

C#

Java

C# delegate

C#を使い始めの頃によくやってた処理。(^^;
職場の既存コードもこんな感じだったし・・・

ここでもNullチェック不要にする方法があります。
どう考えてもこうした方が便利ですね!

 - 設計 ,