Review of the Refactoring: Improving the Design of Existing Code by Martin Fowler, 2nd edition (2018).