Archive for April 2016

Week 17, year 2016

  • Defensive programming: the good, the bad and the ugly - In this post, I want to take a closer look at the practice of defensive programming. [Enterprise Craftsmanship]
  • The Repair/Replace Heuristic for Legacy Software - Technical Debt is a great metaphor. It shares many analogous properties with financial debt: loans, accrued interest, token payments, bankrupty… There is a key difference however. We take financial debt with another party. This party desires to get their money back eventually, and then some. Over centuries, a system was developed to measure debt fairly unambiguously. We called it money, and we’re still iterating and experimenting with new designs, like Blockchain. [Mathias Verraes]
Permalink | From 25 April 2016 to 01 May 2016 | Last updated on: Mon, 7 Jun 2021 09:18:52 GMT

Week 16, year 2016

  • How To Validate Commands in a CQRS Application - Any of these sound familiar? Rubbish in rubbish out. Never trust user input. If you’ve ever built any sort of professional application you will have had to validate user input. Whether it is to ensure a valid email address or something more complicated. There are tried and tested ‘rules’ for doing this safely while being […] [Learn CQRS and Event Sourcing]
  • What is functional programming? - The topic of functional programming described here is a part of my Applying Functional Principles in C# Pluralsight course. In this article, I’ll try to answer the question: what is functional programming? Functional programming So, what is functional programming? This term arises quite often and every author writing about it gives their own explanation. I’m no exception. In my opinion, the simplest and at the same time precise definition is the following: functional programming is programming with mathematical functions. [Enterprise Craftsmanship]
Permalink | From 18 April 2016 to 24 April 2016 | Last updated on: Mon, 7 Jun 2021 09:11:14 GMT

Week 15, year 2016

  • Applying Functional Principles in C# Pluralsight course - My new course Applying Functional Principles in C# for Pluralsight went live. Applying Functional Principles in C# What interesting about functional programming is that it allows you to adhere to the most important software development principles, just as the DDD practices do. It helps reduce the cognitive load when you deal with your code base and thus keep your software maintainable in a long term. This course is based on the article series I posted awhile back. [Enterprise Craftsmanship]
  • Property-based testing - Video for my CukeUp 2016 lightning talk in London [Mathias Verraes]
Permalink | From 11 April 2016 to 17 April 2016 | Last updated on: Mon, 7 Jun 2021 09:11:25 GMT

Week 14, year 2016

  • Having the domain model separated from the persistence model - In this post, I’d like to write about a pretty common discussion in DDD circles: should one have the domain model separated from the persistence model? In other words, should you map your domain objects to the DB tables directly using an ORM or would it be better to use a separate set of Data Access Objects (DAOs) instead? [Enterprise Craftsmanship]
  • Code Reviews and Blame Culture - Gated pre-merge code reviews are bad. Always refactor on master. Always do Pair Programming. Don’t use branches. Apply Continuous Integration. Best practices likes these are great. [Mathias Verraes]
Permalink | From 04 April 2016 to 10 April 2016 | Last updated on: Mon, 7 Jun 2021 09:18:52 GMT