Ben's Blog A place to share my thoughts

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

How to debug Xamarin in Visual Studio 2017

Anyone who has worked with Xamarin is well-aware that the platform is still in its infancy. It’s an interesting framework, but it is riddled with bugs, performance issues and visual studio doesn’t always play ball.

Read more

Strongly Typed Enum Pattern in C#

I’ve recently subscribed to a new developer podcast; “Weekly Dev Tips by Steve Smith“. The podcast is fantastic, providing many useful tips spanning a range of topics from programming design to developers’ soft skills. One of my favourites episodes was #14, where he discusses a strongly type enum pattern: Smarter Enumerations.

Read more

Ordinal vs Culture Comparison in C#

There are two comparsion algorithms that we can select when comparing strings: Ordinal and Culture sensitive comparison. Here is the difference between Culture-Sensitive and Ordinal string comparison:

Read more