Characterization Tests Before Refactoring C# Code
Learn characterization tests for C# refactoring: choose observable behavior, capture outputs and exceptions, control unstable data, and avoid false confidence.
C# and .NET by Nick Cosentino
Practical, in-depth content for software engineers and technical leaders. Learn C#, .NET, software architecture, AI-assisted development, and engineering leadership with guidance you can apply on your team today.

The latest articles on software engineering, architecture, AI, and career growth.
Learn characterization tests for C# refactoring: choose observable behavior, capture outputs and exceptions, control unstable data, and avoid false confidence.
Learn testing C# events with complete deterministic examples for payloads, counts, removal, synchronous failures, and task outcomes without sleeps or GC.
Understand logical operators in C#, including short-circuiting, Boolean guards, eager evaluation, and nullable bool rules, through practical code examples.
Understand concurrent collections in C# by separating safe operations, repeatable factories, enumeration, shared values, and multi-step workflow boundaries.
Go deeper into the core topics on Dev Leader, from .NET and AI to software engineering and career growth.