Open/Closed Principle (SOLID 2/6)

"Software entities should be open for extension, but closed for modification" is the definition of open/closed principle. I learned a lot while writing this blog post. For example I learned what relationship does open/closed principle have with strategy pattern. I will explain also it beside I explain what is the open/closed principle. This is the 2/5 blog post from SOLID serie. It was worth to write!

Software Design X-Rays by Adam Tornhill

This is a book about how to detect bad code from code base with the help of code's history from git. I was surprised how simple things and techniques book uncovered about code quality. The key point is the time. We shouldn't do just static analysis from our current code but analyze how our code has lived and progressed. Tornhill calls this behavioral code analysis. I will explain some interesting things from the book, like hotspot analysis and what are surprises in code and why they can be really expensive. After reading the book I understood how to improve code quality cost-effectively.

Heroic Efforts Block Automatic Deploys

I recently read a great book The DevOps Handbook by Gene Kim et. al. (must read for every developer!) where I first time read about heroic efforts and why they are bad things. Even if I had faced them before this was the first time I realized them and that they block automatic deploys. Start to decrease your heroic debt from today to automate you deploys.

Always Write Unit Tests

Unit tests are my passion. I always write them and I also encourage others to write them and even have taught developers to write unit tests. But I am quite surprised how often developers don't write unit tests. There is a lot of benefits for writing unit tests. In this blog post, I will explain three main reasons why every developer should always write unit tests.