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.
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.
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#
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.