DataNormalizer
DataNormalizer에는 dibstern에서 수집한 skills 13개가 있으며, 저장소 수준 직업 범위와 사이트 내 skill 상세 페이지를 제공합니다.
이 저장소의 skills
Multi-targeting .NET 6/7/8/9/10 and netstandard2.0 for the DataNormalizer project. Covers TargetFrameworks configuration, conditional compilation with preprocessor directives, TFM-specific APIs, test project targeting, and CI SDK installation.
.NET Testcontainers patterns for integration tests in the DataNormalizer project. Covers container lifecycle management, database containers, wait strategies, and NUnit 4 integration with OneTimeSetUp/OneTimeTearDown.
Project structure rules, MSBuild linting, and Clean Architecture principles for the DataNormalizer repository. Covers solution layout, project references, Directory.Build.props/Directory.Packages.props linting rules, and the relationship between runtime library, source generator, tests, and samples.
Modern C# 12 coding standards for the DataNormalizer project. Covers file-scoped namespaces, primary constructors, records, sealed classes, var usage, collection initializers, static lambdas, nullable reference types, file organization, and code formatting with CSharpier.
C# development patterns for the DataNormalizer project. Covers records with init-only properties, pattern matching (type/property/list/positional), nullable reference types, async/await with ConfigureAwait(false), LINQ method syntax, dependency injection, generic constraints with IEquatable<T>, and Result<T> error handling.
Test-Driven Development workflow for the DataNormalizer project using NUnit 4. Covers Red-Green-Refactor cycle, NUnit 4 specifics (Test/TestCase/Assert.That constraint syntax), AAA pattern, test naming, test doubles, Verify.SourceGenerators snapshot testing, and commands for running tests.
NuGet library packaging best practices for the DataNormalizer project. Covers bundling the source generator as an analyzer, package metadata, SourceLink, deterministic builds, semantic versioning, dotnet pack, and snupkg symbol packages.
CSharpier code formatting rules for the DataNormalizer project. Covers configuration (.csharpierrc.yaml), local tool manifest, format/check commands (v1.2.6 subcommand syntax), CI integration, and the "don't fight the formatter" philosophy.
Domain-Driven Design patterns for C# and the DataNormalizer project. Covers domain object hierarchy, aggregate root pattern, repository pattern (CQRS), entities with identity, value objects as records, domain exceptions, IClock/TimeProvider for time abstraction, command/query separation, and how normalization maps to DDD concepts.
.NET backend patterns adapted for the DataNormalizer NuGet library. Covers DI registration (scoped/transient/singleton, keyed services, factory pattern), IOptions pattern, Result<T> error handling, async best practices with ConfigureAwait(false), and NUnit 4 test examples with Assert.That constraint syntax.
Documents the original expression tree normalization library (in data-normalization/ sibling directory). Architecture reference for understanding the design lineage, hash-based dedup, DFS type traversal, deferred serialization, and why the new library uses equality-based dedup instead.
Central Package Management (CPM) rules for the DataNormalizer project using Directory.Packages.props. Covers version management, adding/updating packages, grouped ItemGroups, NU1008 troubleshooting, transitive pinning, PrivateAssets, and the complete package inventory.
Writing Roslyn incremental source generators for the DataNormalizer project. CRITICAL rules on IIncrementalGenerator, ForAttributeWithMetadataName, never storing SemanticModel/SyntaxNode in pipeline data, equatable models, Verify.SourceGenerators testing, and common pitfalls for type analysis.