I don't know about you, but I'm a lazy developer. What do I mean by lazy? I don't mean I don't want to do my work - far from it - I mean that I hate to write out a great deal of code to get the job done. I want to accomplish my goals with as little effort as possible.

One of my pet hates is writing enhancements that involve copying and pasting blocks of code, changing a variable name, then leaving everything else the same. I hate having to consider each and every possible null reference exception, and adding in a whole ton of boilerplate to handle it. I hate having to spent ages jumping back and forth in a legacy codebase, trying to understand what it actually does!

What's the alternative? In this talk, I'll demonstrate a way of working that avoids all this unnecessary work, and gives you more time to do something more productive.

We'll look at:

Functional Programming - what benefits does this increasingly popular paradigm bring us to cut down coding effort

Linq & Generics - These have been a part of C# for a long time now, and are some of the most powerful features available in the language, but hardly anyone seems to be using them effectively

MetaProgramming - break open C# and take it to the next level with code that describes how to generate code

Our goal is to write code in as few lines as possible that provides the greatest amount of impact. We also want code that's readable, and easily maintainable. We want to think smart, and think...Lazy.

Presented at:

DDD East Anglia - Cambridge, UK - September, 2019

DDD East Midlands - Nottingham, UK - 26th October 2019

Shropshire Devs - Telford, UK - 16th January 2020

Birmingham .NET and Xamarin User Group - Birmingham, UK - 28th January 2020

DDD North - Hull, UK - 29 February 2020

DotNet Notts - 30th March 2020

DotNet Notts - 30th March 2020

NDC Copenhagen - Copenhagen, Denmark - 1st June 2022