Reference

1
Refactoring by Martin Fowler
Refactoring
by Martin Fowler
Like the original, this edition explains what refactoring is; why you should refactor; how to recognize code that needs refactoring; and how to actually do it successfully, no matter what language you use.

Understand the process and general principles of refactoring
Quickly apply useful refactorings to make a program easier to comprehend and change
Recognize "bad smells" in code that signal opportunities to refactor
Explore the refactorings, each with explanations, motivation, mechanics, and simple examples
Build solid tests for your refactorings
Recognize tradeoffs and obstacles to refactoring
2
The Marriage of Heaven and Hell by William Blake
3
The Subtle Art of Not Giving a F*ck by Mark Manson
4
The Book of General Ignorance by John Lloyd
5
Never split the difference by Chris Voss
6
The Complete Plain Words by Ernest Gowers
7
The Best Way to Predict the Future Is to Create It by Creative Journals Factory
8
The Presentation of Self in Everyday Life by Erving Goffman
9
Literary London by Eloise Millar, Sam Jordison
Literary London by Eloise Millar, Sam Jordison
10
The Great War and Modern Memory by Paul Fussell