Lombok Mutability Pitfalls and How To Avoid Them

Posted on December 31, 2017
Java Lombok Mutability Pitfalls

Find out how Lombok can unwittingly undermine good mutability and encapsulation practices and what to do about it. Object-oriented encapsulation best practices lead development towards only relying on mutators to change object state. Any other way of changing it is called a side-effect and is generally very unwelcome. Side-effects have a nasty habit of introducing bugs and seriously slowing down debugging as they tend to create non-determinism. ...

Read More


Java Package-Info Annotation Generation with Gradle

Posted on March 26, 2017
Generate Java default package-info.java in Intellij Idea

Elegance and cleanliness in programming are important to me. Having a lot of package-info.java files scattered everywhere is an eyesore. However, that is exactly what I've prescribed in my earlier post about Java default nullability annotation set by a package. To define default package contracts throughout your project, you need to copy the same package-info file in all packages. This does not only cloud visibility in the project view panel ...

Read More


How to Set Java Null Annotation By Package for Cleaner Code

Posted on March 8, 2017

What is a Java Null Annotation? Java nullability contracts are a way to mark the code in a way that static checkers know which parameters, variables or return types can be null. You would especially want to do that if you hate defensive null checks everywhere in the code, like this one: (more…)

Read More


What is The Real Purpose of Software Projects?

Posted on October 27, 2015
Purpose of Software Projects

A few days ago I was asked to present some basics about software quality assurance to a group of employees at Agilio. Above all the methodologies and fancy techniques that come with quality assurance, I wanted to give them a sense of what the mission is. Why should they be bothered with all that? To understand what software quality really is about, we must look at the bigger picture. The Context of Business The universe, like the world, your ...

Read More


How to Log Technical Debt Like You Mean It

Posted on July 24, 2015
Log Technical Debt Like a Pro

Before you can log technical debt, of course, you should know what it is and why anyone should care about it. The Wikipedia article on technical debt sums everything up nicely. For more, in-depth, information I strongly recommend going through these articles written by Martin Fowler on the matter. Why and Who Should Log Technical Debt Why should anyone log technical debt? Why not just tackle technical debt as we see it and leave the code clean ...

Read More