A Philosophy of Software Design
Rate it:
Read between September 25, 2019 - January 3, 2020
7%
Flag icon
There are two general approaches to fighting complexity, both of which will be discussed in this book. The first approach is to eliminate complexity by making code simpler and more obvious.
7%
Flag icon
The second approach to complexity is to encapsulate it, so that programmers can work on a system without being exposed to all of its complexity at once.
9%
Flag icon
One of the best ways to improve your design skills is to learn to recognize red flags: signs that a piece of code is probably more complicated than it needs to be.
9%
Flag icon
Complexity is anything related to the structure of a software system that makes it hard to understand and modify the system.
10%
Flag icon
Isolating complexity in a place where it will never be seen is almost as good as eliminating the complexity entirely.
11%
Flag icon
Complexity is caused by two things: dependencies and obscurity.