So far I have written about the book chapters but focusing specifically on the actual topic at hand, the examples and silly storylines are not fun to read once, let alone a second time.
So now, for chapter 5, it’s the topic of change.
What is change? I would say when anything that is is no longer that but something else. Changes can be minor or major. In our context, changing software is a daily occurrence. As the book says, no software ever stays the same. No small apps like Paint (which Microsoft wants to kill for Paint 3D) to huge software projects like the Linux kernel or Windows itself. Hundreds of thousands, if not millions lines of code are changes hopefully to make it better, although that is not always the case. From bug fixes, to refactoring to feature requests, software is never the same.
This is Google. World’s biggest Internet search engine and services whose codebase is estimated at billions.
This goes in hand with good software development practices that make making those changes easier or faster. You can read more about that here:
Back to the book, the second part of the chapter now goes into OOP principles like cohesion and coupling.
Cohesion is that a object/class focuses on doing a single job. Removing everything that does not belong to it’s core functionality or can be outsourced. Coupling is how close or far objects are from each other in terms of functionality.