Software Thresher: Making Refactoring Possible
Refactoring legacy software can feel like an insurmountable mountain. As per Lao Tzu “A journey of a thousand miles begins with a single step.” Decreasing the weight to carry can make this journey much easier. By deleting unused software, less code needs to be understood, transformed and the amount of code paths to support will be greatly decreased which will result in a simpler solution.
A thresher is used to help break the grain from the chaff. This project will do the same for software through a series of configurable and extensible automated techniques to identify code that is a candidate for deletion. There are a number of commercial tools that perform this similar function but I have not found any that I feel allow for the flexibility and scalability necessary for large multi-project solutions.
Keeping unused code is like keeping clothes in your closet that you do not fit in. Even if you do fit into them again what are the changes that they will be of a style you will want to wear.
Before deleting any of the code identified by this project please take precautionary steps to make sure you have a current backup and recovery plan in place. If you need help to put discipline around this process feel free to contact me @AgileSchell.
Every line of removed code counts….or doesn't count.