Tackling Accidental Complexity With Optional in Java

In a post in the past — "How do we make complex software less costly?" — I drew the distinction between essential and accidental complexity. The clue is in the name — you can't avoid what is essential. Build a good understanding of your core problem. Otherwise, you risk introducing more unnecessary complexity.

This time, let's talk about a specific functionality — Java Optional. I'll use an example project to show you how Java 8 Optional can impact the end complexity. And it can do so positively or negatively as Optional as a tool can simplify and complicate your code. In the long run, the outcome can greatly influence your project. Let's see how it works.

CategoriesUncategorized