Software Craft

Immutables in Java - Are Setters Allowed?

In short, no. Feel free to jump right ahead to the section on bad practices. If you want to read a bit more on the why and how of immutables, have a look at the rest of this article.

Read more

What is Upstream and Downstream in Software Development?

In the recent past, I stumbled a few times over the definition of the words “upstream” and “downstream” in various software development contexts.

Read more

Build Once, Run Anywhere: Externalize Your Configuration

Most software that does more than a “hello world” needs to be configured in some way or another in order to function in a certain environment.

Read more

Why You Should Enforce 100% Code Coverage*

Yeah, I know. Everyone says aiming for 100% code coverage is bullshit. And the way test coverage is usually defined, I fully agree!

Read more

Combining Object Mother and Fluent Builder for the Ultimate Test Data Factory

To test our business code we always need some kind of test data. This tutorial explains how to do just that with the Object Mother pattern and why we should combine it with a Fluent Builder to create test data factories that are fun to work with.

Read more

5 Good Reasons to Use a Log Server

Logging to files and analyzing them by hand is not the way to go anymore. This article explains the reasons why a log server is the way to go for collecting and analyzing log data.

Read more