RSS

================================================================================

Before Today

================================================================================

If I was crying
In the van, with my friend
It was for freedom
From myself and from the land

================================================================================

05/15/2010 20:01:00

Scala | null チェックの代わりに Option を使う

最初にすることは、ソースコードから null を追放することです。メソッドの戻り値では、絶対、決して、何があっても null を返してはいけません。 入力値の問題で、null や例外を返すような Java ライブラリを使っているのであれば、Option に変換します。Option を使って、String から Int へのパースを行っています。 Scala の基本です。null は使いません。

コードを書くときにも、null を禁止します。初期化されていないインスタンスの場合、null でない初期値を代入します。もし初期化の前にインスタンスをチェックする可能性があれば、 Option を使いましょう。そうすれば、初期値は None になります。妥当な入力値に対して、返すべき論理的な値がないのであれば、戻り値は Option にすべきでしょう。 Option の get メソッドは決して呼んではいけません。代わりに、map/flatmap や for 式、パターンマッチを使い、値を取り出します。

Option を使う一番のメリットは、NullPointerException が目に見えて減ることです。2番目のメリットは、これに比べると少しわかりにくいです。 Option を使うこと、Option の map メソッドを使うことは、「変換」的な側面を持っています。そのため、あなたのソースコードにこれまでとは違ったスタイルをもたらします。 ソースコードのスタイルは、より変換的に、関数型になっていきます。イミュータブルなデータ構造を繰り返し使うことで、あなたの脳はより関数脳に近づいていきます。
  • quoted from Scala プログラミング入門 page 283 to 284

--------------------------------------------------------------------------------

 

================================================================================

Designed: Robert Boylan
Powered: Tumblr