https://yournet.kz:443/books/refactoring.pdf