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