Hacker News new | ask | show | jobs
by robto 876 days ago
They say naming is one of the hard problems of computer science, but there's not much concrete work addressing it.

I'd recommend Elements of Clojure[0].

Don't be fooled by the title, it's not really about Clojure, it just uses Clojure as an illustration as it discusses a very subtle general problem. From the website:

> The first chapter, Names, explains why names define the structure of our software, and how to judge whether a name is any good.

> The second chapter, Idioms, provides specific, syntactic advice for writing Clojure which is clean and readable.

> The third chapter, Indirection, looks at how code can be made simpler and more robust through separation.

> The final chapter, Composition, explores how the constituent pieces of our code can be combined into an effective whole.

I find it a thoughtful and considerate overview of an area that everybody has some implicit knowledge of, and something that leads to a more abstract concept of quality.

[0]https://elementsofclojure.com/