| 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/ |