We often hear this term in the software industry that “Don’t change anything if it works” which is so not true. This book provides all the reasons why it’s not true and why there is a need for refactoring even though everything is working fine. It also filled with a ton of tips and techniques on how can we do refactoring while preserving the existing behavior of the system.
One of the biggest reasons which I feel the need for refactoring is that nowadays the system evolves very fast which means the design decision which we took 6 months back does not make much sense in the current situation, that’s where refactoring comes to the rescue. We should understand that design should evolve with time. If we don’t do this then the code starts to rot and it becomes very hard to change or add behavior into existing code. Sometimes we will be in a situation where a small change will take a week to fix.
The hardest part of refactoring is to convince the management/business. This book also provides valid arguments to this problem and what we are willing to trade-off. # #androiddev #refactoring