Gdzie na pewno ‘null’ to za mało

Posted on Updated on

Nie lubię nulli. Uważam że są nadużywane. A dodatkowo powinno się korzystać z rozszerzeń typu Option<T>, zeby explicite zaznaczyć brak wartości. Dzisiaj trafiłem na przykład który jest dosyć bliski każdemu i może produkować niejednoznaczne wyniki.

When null is not enough: an option type for C#

Na przykład metoda FirstOrDefault. Mając pustą listę stringów, FirstOrDefault wskazuje brak pierwszej wartości poprzez zwrócenie nulla. Ale mając listę rozpoczynająca się nullowym stringiem także zwróci null. Rozróżnienie tych dwóch przypadków jest często istotne, ale FirstOrDefault nie zrobi tego za ciebie (pomimo posiadania koniecznej logiki). Może zrefaktorować FirstOrDefault, aby rozróżniała między tymi dwoma przypadkami…, ale co powinna zwrócić? Odpowiedzią jest: typ opcji.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s