Specification for agents updated

This commit is contained in:
Marek Lemańczyk committed 2025-07-14 16:23:11 +02:00
1 parent 80b4b0e890
commit 0496b63e5a
1 file changed
+15 -5
+15 -5
View File
@@ -2,12 +2,22 @@
This repository hosts various libraries distributed as NuGet packages. Keep these links up to date so contributors and tools can easily locate them. This repository hosts various libraries distributed as NuGet packages. Keep these links up to date so contributors and tools can easily locate them.
Only the .NET SDK **8.0** is available in the execution environment. Use this version when building or running tests. When invoking `dotnet test`, do **not** pass `--no-build` because that leads to missing assemblies. Instead, specify the `--framework` argument matching the SDK available in the environment (currently `net8.0`). Only the .NET SDK **8.0** is available in the execution environment. Use this version when building or running tests.
All `*.csproj` files should enable nullable reference types with `<Nullable>enable</Nullable>`. ## Implementation Guidelines
Indent code using four spaces or a single tab per level. Place one blank line after each closing curly brace of a code block, except when several closing braces appear sequentially. Always use braces for `if` and `else` bodies. 1. All `*.csproj` files should enable nullable reference types with `<Nullable>enable</Nullable>`.
All tests must use **xUnit** together with **FluentAssertions**. 1. Implementations should be optimized for maximum performance even if that introduces some code duplication.
Implementations should be optimized for maximum performance even if that introduces some code duplication. Consider applying attributes such as `MethodImplOptions.AggressiveInlining` or faster alternatives to common operations when appropriate. 1. Consider applying attributes such as `MethodImplOptions.AggressiveInlining` or faster alternatives to common operations when appropriate. Another would be modulo "%" or division "/" operations, which could be often replaced with faster alternatives, possibly under specific conditions.
## Running Tests
1. When invoking `dotnet test`, do **not** pass `--no-build` because that leads to missing assemblies. Instead, specify the `--framework` argument matching the SDK available in the environment (currently `net8.0`).
1. The tests run for a very long time, because there are 61_000+ unit tests for all the collections. Set timeout when running them to 15 mis.
1. All tests must use **xUnit** together with **FluentAssertions**.
## Source Code Formatting Guidelines
1. Indent code using four spaces or a single tab per level.
1. Place one blank line after each closing curly brace of a code block, except when several closing braces appear sequentially.
1. Always use braces for `if` and `else` bodies.
## NuGet packages ## NuGet packages
- [Recyclable.Collections](https://github.com/mlemanczyk/Recyclable.Collections) - [Recyclable.Collections](https://github.com/mlemanczyk/Recyclable.Collections)