Specification for agents updated
This commit is contained in:
1 parent
80b4b0e890
commit
0496b63e5a
1 file changed
+15
-5
@@ -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)
|
||||||
|
|||||||
Reference in new issue
Block a user