Clean Code

10 Books Every Java Developer Should Read

I have read my share of software development books and I have noticed that it is very rare to find a book which I want to read more than once. However, once in a while I find a book which teaches me new things every time when I read it. This blog post is a […] Read more

Domain-Driven Design Revisited

Recently I read a book titled Domain-Driven Design by Eric Evans. This wasn’t the first time I read this book but this time I realized that I had been totally wrong about domain-driven design. I thought that the domain model consists of entities and value objects. In fact, I was obsessed with moving the domain […] Read more

The Microservice Architecture Sounds Like Service-Oriented Architecture

I didn’t understand the service-oriented architecture. I thought that it was just one of those highly theoretical and very impractical software architecture patterns. In other words, I considered it to be an architecture fanatics’ wet dream. Then I read an article titled Microservices by Martin Fowler, and the service-oriented architecture started suddenly make sense to […] Read more

We Need More Foremen

This week I read a blog post titled Where is the Foreman by Robert "Uncle Bob" Martin. It made me think. Uncle Bob suggests that a software development team should have a foreman who: He'd make sure everything was done, done right, and done on time. He'd be the only one with commit rights. Everybody […] Read more

Three Reasons Why I Like the Builder Pattern

There are three ways to create new objects in Java programming language: The telescoping constructor (anti)pattern The Javabeans pattern The builder pattern I prefer the builder pattern over the other two methods. Why? Joshua Bloch described the builder pattern and the benefits of using it in Effective Java. He did an excellent job and I […] Read more

FindBugs Maven Plugin Tutorial

FindBugs is a static code analysis tool which identifies problems found from Java code. We can integrate FindBugs into our build process by using the FindBugs Maven plugin. This blog post identifies four typical use cases and describes how we can configure the FindBugs Maven plugin to support each use case. The described use cases […] Read more