![](https://cdn-ak-scissors.b.st-hatena.com/image/square/cbc1f0f7d57c0fbd7dc87d81bc07542c36a83eff/height=288;version=1;width=512/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fqiita-fb-2887e7b4aad86fd8c25cea84846f2236.png)
エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
nullインスタンス~null(nil)の複雑さを避けるリファクタリングパターン~
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
nullインスタンス~null(nil)の複雑さを避けるリファクタリングパターン~
概要 サードパーティ製モジュールを使った場合などによくあることですが、提供されたメソッドが特定の条... 概要 サードパーティ製モジュールを使った場合などによくあることですが、提供されたメソッドが特定の条件でnullを返してしまい、いろんな箇所でnullであるかをチェックが必要になり、コードがnullだらけ(ぬるぬる)になってしまうことがあります。このようなコードは複雑で理解が困難であったり、テストしなくてはならない項目が多くなるなど、あまり良いとは言えません。 このようなコードを避けるためのリファクタリングパターンとしてnullオブジェクトというパターンがあります。nullオブジェクトはnullチェックを避ける代わりに、プログラムの挙動に影響を与えないように振る舞うクラスを作ります。うまくハマればコードの品質の核になるほどの強力な存在となりますが、時にnullチェックの複雑さを吸収することのトレードオフとしてクラスを別途設けることが重すぎる場合があります。 今回はクラスを別途用意せずにnul