Coding with Johan
Passion for Code
programming

Latest Posts:

Should trivial code be tested?

User profile image Johan Vergeer Jan 1, 2021 15 min read
I recently got the following question: "Should I test trivial code?". Since I knew this is a highly opinionated topic, I knew I had to do some research in order to come up with a proper answer. So here are my two cents on the topic that seems to be coming back all the time.

How to save computation time with functools.cached_property?

User profile image Johan Vergeer Jul 5, 2020 6 min read
The cached_property decorator can save a lot of computation time in return of some RAM memory. Can this decorator be used anywhere, or should it be used sparingly? Let's find out!

Python Dependency Injection Frameworks

User profile image Johan Vergeer Jan 26, 2020 6 min read
Even though the usage of Dependency Injection is not as common in the Python community as it is in the C# or Java communities, it is still a very powerful way to implement the Dependency Inversion Principle. Thankfully there are several packages available to us that provide us with a dependency injection implementation, which I will discuss in this article.

SOLID Python part 6: Dependency Inversion Principle

User profile image Johan Vergeer Jan 24, 2020 6 min read
This is the fifth and last article on the SOLID Principles with Python. In this article we will look into the D of SOLID which stands for Dependency Inversion Principle.

SOLID Python part 5: Interface Segregation Principle

User profile image Johan Vergeer Jan 18, 2020 7 min read

SOLID Python part 4: Liskov Substitution Principle

User profile image Johan Vergeer Jan 17, 2020 3 min read

Multiple Inheritance and the Diamond Problem

User profile image Johan Vergeer Jan 17, 2020 8 min read
In this post, I will show you what multiple inheritance is, how you can use it and what to watch out for. First you will learn about single and multiple inheritance and how you can use them in Python. After this you will learn some multiple inheritance gotchas among which the dreaded diamond problem.

SOLID Python part 2: Single Responsibility Principle

User profile image Johan Vergeer Jan 15, 2020 3 min read

SOLID Python part 1: Introduction

User profile image Johan Vergeer Jan 14, 2020 5 min read
SOLID is an acronym for the first five principles of Object-Oriented Design created by Robert C. Martin. These principles help us to develop software that can be maintained and extended throughout its lifetime. The SOLID principles do this by avoiding code smells, refactoring code and applying Agile Software Development.