Option<T> vs nullable reference types

0

Chodzi o Optiona z biblioteki https://github.com/louthy/language-ext

Jaki jest zysk z używania tego skoro mamy nullable reference types i kompilator który dba zebysmy sprawdzali nulle tam gdzie moga wystąpić? Pomijam wymiar estetyczy.

0

Jakiś czas temu podobna dyskusja toczyła się tu dla języka Kotlin. Chyba to co ustalono to że Option jest bardziej spójne jak się programuje z stylu bardziej funkcyjnym z użyciem Either/Future/Task/IO czy jakie tam monady są w C#

5

Nullable reference types niewiele dają, to tylko ostrzeżenia, a nie wymóg na poziomie CLR-a, w efekcie i tak może polecieć null nawet tam, gdzie rzekomo go nie ma. Option jest lepiej pilnowany przez kompilator, ale jeżeli nie będziesz używał go konsekwentnie w całym kodzie, to wyjdzie paskudna mieszanka optionów i sprawdzania nulli.

1 użytkowników online, w tym zalogowanych: 0, gości: 1