How to Design Code

Always design a thing by considering it in its next larger context—a chair in a room, a room in a house, a house in an environment, an environment in a city plan.

Eliel Saarinen

How do you learn to design well? Are good designers born or made? Can design be taught or caught? Some programmers have a natural flair for good design; it fits the way their brains work. They naturally appreciate aesthetics and can comprehend enough of a problem to make balanced judgments. Nevertheless, you can learn to design more effectively.

When I was born, I wasn’t very good at pottery. (I’ve never met anyone who was.) I’m still terrible now, but I took some lessons once. I understand the mechanics and can produce (almost recognizable) pots. I’d ...

Get Code Craft now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.