December has come around and it's time for the Advent of Code again!
The problem with java isn't the language, it's the rest
I've been working with Java as a main language for over a year now, and have come to the realization that the biggest problem people have with Java isn't the language itself, but every other thing you need to make enterprise software with Java. As I've also worked a lot with C#, I'll draw some parallels between the two.
React + Redux + Saga
After working a little with the React-Redux-Saga ecosystem, and working with others that were still new to it, I came to realize some parts of the frameworks can be a little confusing so I decided to write this post to explain how everything works together. This article isn't meant to explain everything, but give a brief overview of the different sections of the ecosystem and how they interact with each other in case you need to work on an existing project or need to think about which technology to use for new project.
Indentation
Over the years, many styles of indentation have surfaced. From K&R to Allman, Whitesmiths or GNU, using tabs vs spaces, there are a lot of choices. So how do you pick one?
I will not advocate for a single style, but will give you guidelines on how to choose one that will last long and reduce the headaches that could be created with refactorings and such.
"Service" should be a banned word
Just like "Manager" or "Data", I think "Service" is another word we should ban from our code. When you read Domain Driven Design theory, services are there to help you correctly separate concerns and contain some domain logic while handling other domain objects. Although services are an integral part of DDD, it's not a design pattern so you shouldn't have a class name containing "Service".