Software principles, design patterns, and practices should never be considered as a law that one must follow at all times. These are just heuristics. They are guidelines that we should apply carefully and only in the right amounts. For example, if we take the DRY principle to the extreme, we are more likely to introduce too many abstractions and many times the wrong abstraction is worst than code duplication. In my experience, the same can be said about almost every other software principle. So my recommendation is never to follow principles blindly and to use them with moderation and judgment. I call this idea the The Yin and Yang principle of software architecture.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.