I am reading a book *C++ Software Design* by *Klaus Iglberger*. In the book, the author asserts multiple times that **recompilation** effects of dependent code is extremely bad. For example,

> 
> The heart of the problem is the direct dependency of all shape classes and functions on the enumeration. Any change to the enumeration results in a ripple effect that requires the dependent files to be recompiled.
> 
> 
> 

Can someone explain why this recompilation of dependent code is considered very bad? I completely understand that dependencies will cause issues, but that aside, why the specific focus on recompilation effects?

Edit:

More context around the quote.

> 
> Note that this addition *(addition of new enumeration value)* would have an impact not only on the switch statement in the drawAllShapes() function (it is now truly incomplete), but also on all classes derived from Shape (Circle and Square). These classes depend on the enumeration since they depend on the Shape base class and also use the enumeration directly. Therefore, changing the enumeration would result in a recompilation of all your source files.
> 
> 
>