Cool Code
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Kevlin Henney takes a philosophical approach to encapsulation, polymorphism and inheritance, and explains what it means to write Java programs according to his view on OOP.

Kevlin Henney promotes live architecture through refactoring, recovery, re-envisioning, retrospection, re-engineering, repair, rewriting, reduction, reuse, reaction, re-evaluation and remembering.
Kevlin Henney proposes a new look at design patterns from the perspective of the habitability of code, communication, exploration, empiricism, reasoning, incremental development, and design sharing.

Kevlin Henney does not make recommendations for architecting software but rather brings into discussion five considerations useful to be reflected upon: economy, visibility, spacing, symmetry, emergence.
As the editor of "97 Things Every Programmer Should Know" and an experienced author and writer, Kevlin reflects on the open book creation process as well as the influences of writing and written communication on software development. He shares many insights he's gained while improving his writing and development skills.