Ever needed a bunch of random data for testing, UI prototyping, or even as part of an application? I did, and I found a good option to generate it for .NET applications. Bogus is loosely based off of the Faker library for PHP and differs from testing libraries like AutoFixture by […]
Author: Matt Eland
Creating a .NET Core API
This article will walk you through some simple steps in creating, running, and testing a new ASP .NET Core Web API. Prerequisites I will be using .NET Core 2.1 as it’s what I have installed on my machine, though today Release Candidate 1 of .NET Core 3 came out. To get started: Download […]
Action-Oriented C#
Five years ago I hit a plateau. My code hit a certain level of quality and flexibility and stopped improving. Here’s how I used aspects of functional programming to keep climbing. My code was pretty SOLID, but there was still a lot of very similar code, despite actively trying to […]
Facades should not have Working Plumbing
In this short article we discuss the role of facades in application architecture and some common problems and solutions. A facade is a user-facing entry point holding many internal components Like fake buildings on a movie set, facades in software are a nice exterior representation of something complex. In terms […]
Safer Code with C# 8 Non-Null Reference Types
Null reference exceptions are one of the most frequent errors encountered in .NET applications. As powerful as the framework is, it’s built around a core assumption that reference types can point to null, so any code that works with a reference type needs to either know already that the object is […]
How your brain wants to wreck your code
We suck at testing our own code. We suck so badly at it that it has led to entire professions like as Quality Assurance analysts and test engineers. Why is that? How do you take some of the smartest people out there and find some of the most glaring omissions and defects?
Annotating Nulls in C#
In my prior post I talked about using functional programming null handling features. While this is a valid approach, it is also one that requires a lot of code changes to achieve. If you don’t want to make that drastic of a level of changes, there are a few other […]
Eliminating Nulls in C# with Functional Programming
This is a short and sweet article showing how the Option class can bring functional programming concepts to C# codebases and prevent null reference exceptions.
Understanding SQL Server Deadlocks
This is a continuation of a series of articles I’ve written on SQL Server concepts. When you work with SQL Server long enough on a database with enough traffic, you’re eventually going to encounter deadlocks. This article discusses what deadlocks are, how to interpret deadlock graphs, and some options for […]
SQL Server Locking
This is a continuation of my prior article on SQL Server database concurrency. Every request to read from, modify, or even insert or delete data must first acquire a lock on a database object. That object could be anything from the entire database to a table to a range of […]