
Fowler catalogued the moves that make existing code better without changing its behavior. In an era where AI generates working-but-messy first drafts, refactoring is the core skill: not writing code from scratch, but reshaping what you have. The catalog of smells is a better prompt-debugging tool than most people realize.
Chosen by shared topics, the entries that hold them, and the people who recommended both.
Software's enemy is complexity, which grows through shallow modules and shortcuts.
Rules for readable code: short functions, clear names, one level of abstraction.
MIT's introductory computer science text, taught through Lisp and Scheme.
Recommended by: Patrick Collison, Paul Graham, Bret Victor and 1 other
Lessons from IBM's OS/360: why adding people to a late software project slows it.
Recommended by: Mohnish Pabrai, Paul Graham, Andrew Chen and 3 others
A programmer's craft: when code is good enough and what to automate.
How open-source software is really made and maintained, often by a few people.
Recommended by: Balaji S. Srinivasan, Delian Asparouhov
Topics