Dependencies in the code are what makes the software less maintainable. We cannot avoid dependencies altogether, but there are techniques to reduce it to the minimum with the right abstractions.
Most of us are familiar with the above-recommended testing pyramid. Unit tests help us to cover issues at the unit level, and…
Single Responsibility Principle aka SRP — the first one in the SOLID principles — in my opinion, is one of the important ones to create modularised and readable code. As Sandi Metz mentioned in her book Practical Object-Oriented Programming in Ruby [popularly known as the…
In my previous posts, I touched upon Branch by Abstraction and Strangler Pattern which can be used as a technique for long refactorings or rewrites of the application. I also wrote about how to approach emergent design instead of Big Upfront Design.
Imagine a restaurant kitchen. Customers order food off a menu. These orders come into the kitchen through a little…
Operability is the ability to keep an equipment, a system or a whole industrial installation in a safe and reliable functioning…