2.1 KiB
2.1 KiB
AGENTS
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.
Implementation Guidelines
- All
*.csprojfiles should enable nullable reference types with<Nullable>enable</Nullable>. - Implementations should be optimized for maximum performance even if that introduces some code duplication.
- Consider applying attributes such as
MethodImplOptions.AggressiveInliningor 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
- When invoking
dotnet test, do not pass--no-buildbecause that leads to missing assemblies. Instead, specify the--frameworkargument matching the SDK available in the environment (currentlynet8.0). - 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.
- All tests must use xUnit together with FluentAssertions.
Source Code Formatting 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
ifandelsebodies.