Tools and Practices
Debugging, unit testing, benchmarking, and clean code principles for writing higher-quality, maintainable software.
Tools and Practices
Writing code is only part of the job; creating quality software requires testing, debugging, and performance measurement. This section covers Visual Studio tips, writing tests with xUnit/NUnit, measuring performance with BenchmarkDotNet, and applying Clean Code principles.
It also covers practical topics such as making API calls with HttpClient and mocking dependencies using Moq.
TL;DR
- Debugging: breakpoints, watch windows.
- Testing: xUnit, Moq, FluentValidation.
- Clean Code + layered architecture.
Debugging Techniques in C#
Learn debugging techniques in C# using breakpoints, watch windows, and step tools to quickly identify and fix issues.
Visual Studio / VS Code Tips for C#
Learn Visual Studio and VS Code tips for C# to improve productivity with shortcuts, extensions, and efficient workflows.
Writing Unit Tests in C# (xUnit, NUnit, MSTest)
Learn how to write unit tests in C# using xUnit, NUnit, and MSTest to build reliable and maintainable applications.
Using Mock Frameworks in C# (Moq, NSubstitute)
Learn how to use mock frameworks like Moq and NSubstitute in C# to isolate dependencies and write effective unit tests.
Using Benchmarking in C# (BenchmarkDotNet)
Learn benchmarking in C# using BenchmarkDotNet to measure performance and optimize your code with accurate metrics.
Using FluentValidation in C#
Learn FluentValidation in C# to define clean and maintainable validation rules for models and application inputs.
Clean Code Principles with C#
Learn clean code principles with C# to write readable, maintainable, and scalable applications with practical examples.
Layered Architecture and Clean Architecture in C#
Learn layered architecture and Clean Architecture in C# to build maintainable, testable, and well-structured applications.
Networking in C# (TcpClient, HttpClient, REST API Calls)
Learn networking in C# using TcpClient, HttpClient, and REST API calls to handle communication and external data exchange.