Ben's Blog A place to share my thoughts

Async Programming in .NET: Part 1

I’ve been using the async and await keywords at work on both our .NET core API and Xamarin projects, but I started to feel guilty as I didn’t fully understand how asynchronous code works in the .NET framework. This post is mostly to help me put into my own words what async programming really is (and why I now think it’s awesome).

Read more

Roslynator and Intellicode

I have been experimenting with Resharper. It’s my first time using it (with VS Professional 2017), and have concluded that it’s quite a remarkable piece of software with an incredible number of features. Using resharper is a bit like having an opinionated buddy constantly looking at your code and providing you with useful hints, whilst automating and providing shortcuts to some of the more tedious jobs i.e. extracting code into a new method.

Read more

SOLID Principles

I have recently started reading Clean Code and I have been summarizing each chapter on this page. In chapter two, I found a number of references to SOLID principles. I was aware on some of the principles, but truthfully I never took the time to properly uncover their meaning, until now.

Read more

High Cohesion, Low Coupling and Strong Encapsulation

As a rule of thumb, ensuring software has high cohesion, low Coupling and strong Encapsulation will lead to better quality Object Oriented design. But what does this actually mean?

Read more

Clean Code

Clean code cover

Last (and final) update: 19/03/19

Full Summary: Clean Code Cheatsheet

Today I started reading Clean code: A Handbook of Agile Software Craftsmanship by Robert C. Martin. As a helpful reminder, I will summarise the core concepts from each of the chapters. Conveniently, the guys at have recorded a podcast series discussing each chapter, which I will use to ensure I have fully digested the content! I will provide their links, along with supporting material that I found helpful.

Read more