Clean Code – Book Review – Is it Useful for Software Engineers?

Posted on April 12, 2020
Clean Code Book Review

Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin (aka Uncle Bob) is the first book of the series named after the author from Prentice Hall, Pearson. Originally published in 2008, it represents a classic and still relevant resource for coding best practices, presented in the context of Agile principles. What Is Clean Code About? (more…)

Read More


How to Shop Based on Utility Theory and Make a Rational Decision?

Posted on April 4, 2020
Buying itemas based on utility theory

Are you often feeling the full blow of the Paradox of Choice in your life? Do you put off important decisions because there are simply too many alternatives? I know I do... and one solution is using simple utility theory concepts to compare apples with apples using the framework of our objective needs. (more…)

Read More


How to consider code style and write cleaner software code?

Posted on March 11, 2018

“Programs must be written for people to read, and only incidentally for machines to execute.” - Harold Abelson It's a well-known fact that software engineers spend way more time reading code than writing it (Robert C. Martin says 10 to 1). Therefore, investing time in writing readable code should be a prime concern for every developer to spare their fellow engineers (and indeed themselves) from spending even more time deciphering encoded ...

Read More


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 but ...

Read More