SmartEnum
Result
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.
SmartEnum
- Java or C# for backed
-
Is there a "right" way to consolidate constants in C#/.NET?
I agree SmartEnum is my go-to for this
-
best practice to create a method with params of limited values
If we knew more about these methods and what kinds of parameters they take we could maybe make some suggestions. There are some patterns like smart enum that are sometimes just the thing.
-
Smart Enums In C# Like Java
In C# I am not able to add constructors, properties, and methods. although there is a library to do this https://github.com/Ardalis/SmartEnum but wouldn't be nice if we have this feature built-in to C#.
- What is it about C# that you do NOT like compared to other languages?
-
Displaying Enums with custom value
You can use the SmartEnum library.
- C# records can be used to emulate Java's fancy enums.
Result
-
Advantages and disadvantages of FastEndpoints
Using the Nuget Package Ardalis.Result for mapping result objects to HTTP Response Codes and associated objects; FastEndpoint has its own way of approaching this problem, which seems to be to hang everything off an "Endpoint" and optionally using Swagger to redundantly describe the route's behavior; this seems like a step backwards from more advanced Web frameworks in other languages. The advantage of Ardalis.Result should be clear - each closed form of Ardalis.Result can have its own knowledge of what it does, and therefore automatically describe the abstract transformations it does on a request. In functional programming, this "abstract transformation" is typically called a monad transformer or Arrow. Once you have a type that describes the abstract transformation, plugging that into Swagger should be straight-forward.
-
Why doesn't eager loading work with EF?
You could also use the Ardalis Guard Clause, Ardalis Result and Fluent Validation
-
The Operation Result Pattern
I use this generic package. https://github.com/ardalis/Result
-
Best practices for return values to handle success and failure conditions of business rules, exceptions, and returning a result?
For you're Result.cs , look at [Result pattern]https://github.com/ardalis/Result) as an example.
What are some alternatives?
Enums.NET - Enums.NET is a high-performance type-safe .NET enum utility library
FluentResults - A generalised Result object implementation for .NET/C#
SmartAnnotations - A library for .NET that uses source generators to automatically generate data annotations for your models.
clean-minimal-api - A project showcasing how you can build a clean Minimal API using FastEndpoints
csharplang - The official repo for the design of the C# programming language
Specification - Base class with tests for adding specifications to a DDD model
NodaTime - A better date and time API for .NET
Swashbuckle.AspNetCore - Swagger tools for documenting API's built on ASP.NET Core
UnitsNet - Makes life working with units of measurement just a little bit better.
software-design-patterns - C# Design Patterns Tutorial Sample Code
.NET Runtime - .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
safe-routing - A C# source generator for ASP.NET Core razor pages and MVC controllers which produces strongly-typed identifiers for routes.