Template
Refines conventions for ASP.NET API endpoints, C# documentation, Docker build arguments, MSBuild package management, and testing method naming and structure. These changes aim to enhance clarity and enforce best practices across the codebase.
898 B
898 B
description, applyTo
| description | applyTo |
|---|---|
| Use when writing or modifying C# source code. Covers non-obvious defaults not caught by analyzers. | **/*.cs |
C# Conventions
Code style is enforced by .editorconfig, .globalconfig, and StyleCop analyzers — do not restate their rules.
Non-Obvious Defaults
- XML doc comments required on all
publicandprotectedmembers insrc/(suppressed intests/andsamples/). - Avoid
null!(null-forgiving operator) — fix the nullability flow instead of suppressing the warning.
Patterns
- Prefer records for DTOs, value objects, and other immutable data carriers.
- Use
LoggerMessage-generatedpartialmethods on apartial class— never log inline (e.g.,logger.LogInformation(…)). If the containing type cannot be madepartial, convert it to apartial classbefore adding logger methods. Do not fall back to inline logging.