正直なところ、最初は両者の違いをちゃんと理解できてなかったんですよね。nullが許容される型と、Option型を使い分ける理由がピンとこなくて。でも実際にコード書いてると、その違いの大事さが見えてきた気がします。
私の場合、ユーザーが入力するデータを扱う時に気づきました。例えば、住所の「建物名」みたいに「あってもなくても成り立つ」データってありますよね。最初はnull許容で放り込んでたんですけど、後で別の処理を追加する時に「この値、nullかもしれない」をいちいち思い出さないといけなくなって…。地味にバグの原因になってました。
Option型を使い始めたら、型の段階で「ここは値がない可能性がある」が明示されるようになった。コード読む時も、その値を使う時も「あ、nullチェックいるんだ」って分かりやすくなって、ミスが減った感じがします。
ただ、APIからのレスポンスとか、外部から来るデータについては、まだnull許容で受け取ることもあるんですよ。その後、確実に変換してOption型にするみたいな流れで。完全に統一できてるわけじゃないですけど、その使い分けが自分の中でのルールになってきた感じです。チームだと逆に厳格に統一した方がいいんだろうなって思ってます。
著作権は著者に帰属します
いいね 0・コメント 0・保存 0
この観点から問いを立てる
コメント