From Design to Design Principles
In the previous blog post, we discussed why design is needed. We saw that using abstractions (functions, classes, modules etc) is a way to allow the code to change safely. We briefly touched on the idea that introducing abstractions has a down side: it can create software that’s difficult to understand. Therefore, the challenge is to …