NullGuard
Optional
NullGuard | Optional | |
---|---|---|
6 | 6 | |
686 | 876 | |
-0.1% | - | |
8.1 | 0.0 | |
21 days ago | 8 months ago | |
C# | C# | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
NullGuard
- How to write C# source code generator to generate ArgumentNullException.ThrowIfNull?
-
Which do you guys mostly use to prevent nulls? Null object pattern/special case, throw exceptions or the FP Option monad?
Nullable reference types + https://github.com/Fody/NullGuard
- That Shouldn't Happen - UnreachableException in .NET 7
-
Will we ever get a new CLR language to replace C# Like Kotlin did for Java?
I find Nullable Reference Types combined with NullGuard to be pretty good.
-
HttpClientGenerator is a tool that uses the Roslyn code generator feature to write boilerplate HttpClient code for you.
For example here from the readme I can exactly see what boilerplate is generated for me.
-
How to get rid of NullPointerException
Some tools can help to enforce this convention like ReSharper and NullGuard. I guess, although I haven’t tried this yet, you can add a custom rule to SonarQube which will alert when the word null appears.
Optional
-
Nullable vs Option
Since then C# introduced nullable which takes away some of the needs for a Option type. So what is your opionion? Do libraries like Optional still have a place when nullable is enabled?
-
It seems like I'm forced to make this choice at least once a day
Optional is my go-to for c# (you could also use the F# Option of course but pulling fsharp.core into a C# project tends to raise eyebrows in my experience)
-
Common C practice to avoid in C++
This library provides similar functionality to F#'s Option type. I can't vouch for it, but it's there.
-
Why GoLang supports null references if they are billion dollar mistake?
Not really. C# doesn't have monads but you can easily add something like https://github.com/nlkl/Optional which is great for a team familiar with option types and IMO will lead to a more productive team with a more concise code base.
-
How do you handle EF Core null return values in your projects?
You can use Optional
-
How to get rid of NullPointerException
The option type is a different way to represent an optional value. This type asks if a value exists and, if so, accesses the value. When trying to access the value which doesn’t exist, it raises an exception. This solves the problem of NullPointerException raised in code areas away from the bug. In Java there is the Optional class. In C# (until C# 7 ) there is the Nullable type which is only for value types but you can create your own or use a library.
What are some alternatives?
maui-linux - .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
language-ext - C# functional language extensions - a base class library for functional programming
csharp-source-generators - A list of C# Source Generators (not necessarily awesome) and associated resources: articles, talks, demos.
JFlepp.Maybe - A Maybe type for C#, aimed as an idiomatic port of the option type in F# to C#
HttpClientCodeGenerator - HttpClientGenerator is a tool that uses the Roslyn code generator feature to write boilerplate HttpClient code for you.
Curryfy - Provides strongly typed extensions methods for C# delegates to take advantages of functional programming techniques, like currying and partial application.
MoreLINQ - Extensions to LINQ to Objects
Optuple - .NET Standard Library for giving (bool, T) Option-like semantics
FParsec.CSharp - A thin C# wrapper for FParsec.
kotlin-result - A multiplatform Result monad for modelling success or failure operations.
vigil - Vigil, the eternal morally vigilant programming language
Union