Refactoring : improving the design of existing code - Fowler, Martin (Pearson, 2019)