Jump to ratings and reviews
Rate this book

Naming Things: The Hardest Problem in Software Engineering

Rate this book
Naming is one of the most difficult and enduring challenges in software engineering, but few of us do it well. This practical and comprehensive book provides a set of principles, rules, and application guidelines for efficiently choosing good names in your code.

These skills can be used throughout your career, and they’re useful for every programming language, technical domain, and experience level. The book incorporates real-world examples to illustrate how to choose good names and avoid bad names.

This book for how to choose good names and avoid bad namesPrinciples to help you remember the general qualities of good namesReal-world examplesGuidelines on the application of these rules and principles, including balancing tradeoffs, renaming best practices, and choosing domain-specific namesTips on how to develop your naming skills throughout your career
Changes in the second concisenessRemoval of less important contentGrammatical improvementsFormatting improvements

100 pages, Kindle Edition

Published January 24, 2023

About the author

Tom Benner

1 book2 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
33 (32%)
4 stars
45 (43%)
3 stars
21 (20%)
2 stars
3 (2%)
1 star
1 (<1%)
Displaying 1 - 14 of 14 reviews
Profile Image for Vicki.
528 reviews235 followers
June 28, 2023
Really great concise read on all the rules we think about implicitly but don’t state.
Profile Image for Sebastian Gebski.
1,124 reviews1,196 followers
December 26, 2023
Nice, brief lecture on the common & widespread linguistic conventions for naming "things" while writing software. No, it's NOT a book on notations (Hungarian, etc.) - it's much more universal & also tech-agnostic. It does answer the question of how to properly name a variable, a function, or a class. But it covers the syntactic aspects, not semantics!

How useful is that?
1. on one hand - very useful because the rules presented here are easily comprehensible & non-controversial
2. on the other hand, I miss A LOT of practical issues when naming was some sort of an issue, e.g., how to name "connecting" tables in many:many relationships; such issues do happen all the time & some guidance here would be more than appreciated - especially for starters
3. personally, I think that the main issues with naming are caused by semantics - the only advice the book presents here is "try Domain Driven Design" - which may be a reasonable direction (Ubiquitous Language!), but DDD is very ethereal itself, so I'd expect some more practical guidance.

Good stuff, but slightly "oversold" (overpromised).
Profile Image for Bugzmanov.
227 reviews80 followers
December 27, 2023
More of a long blog post shaped as a book. Overall pretty pragmatic and prescriptive, but also very subjective and surface level. While I pretty much agree with most of it, I kept thinking "damn there is way more depth to this" or "this requires way more caveats".

Things I liked the most:
- mentioning that different languages and ecosystems have different conventions (the book mostly advocates for pythonic style)
- nice jab about java people writing enterprise java in any language they try.

For those who are interested in topic, following posts might be entertaining:
https://optimal-codestyle.github.io/
https://www.linguistic-antipatterns.com
https://www.pathsensitive.com/2022/03...
Profile Image for Héctor Iván Patricio Moreno.
390 reviews20 followers
November 27, 2023
Es una muy buena introducción a cómo crear nombres de identificadores que sean útiles, además de la importancia de hacerlos.

Creo que no estoy de acuerdo con algunos de ellos, porque, como todo en el desarrollo de software actualmente, creo que están sujetas a la experiencia de los que están dando el consejo. A pesar de eso, creo que da muy buenos argumentos para poner atención al nombrado de cosas e intenta soportar con buenos razonamientos y ejemplos las cosas que propone.

Al ser una lectura tan corta, la recomendaría a todos los desarrolladores de software que quieran escribir buenos programas.
Profile Image for Ravi Sinha.
303 reviews10 followers
July 14, 2023
Short, sweet, and complete. Nice to have a centralized coverage of this ever important topic. Took off one star because it's not all that original, and borrows heavily from other classics in the literature such as Code Complete, Clean Code, Refactoring, the Pragmatic Programmer, and the like. Does provide some good examples and unified guidelines though, so I appreciate the effort.
Profile Image for Edie Dantas.
37 reviews3 followers
October 15, 2024
A Great Contribution To The Field

The author's guidelines, references to studies and relevant books are commendable. However, some sections lacked depth. Overall, this book is a good attempt at addressing naming in software engineering and strategies to mitigate its negative effects.
Profile Image for Jakub.
270 reviews
January 20, 2024
A blogpost that ended as 100page long book. It’s amazing how much we can write about something that could and should not be extended to that length.

I agree with what’s is said in the book, mostly, hance 3 starts. I think that making this more concise would greatly benefit a book/blog post.
Profile Image for Timon Ruban.
130 reviews26 followers
April 26, 2024
I feel that only people that already think naming is important will read this book and this book holds no surprises or insights for people that already think naming is important. Preaching to the choir.
140 reviews4 followers
December 17, 2024
A rather straightforward, if not too thorough, review of best practices for naming things while coding. Great on general philosophy, but short on practical steps as the rules of the language and codebase will ultimately provide some influence.
Profile Image for Guillermo.
167 reviews9 followers
November 23, 2023
A small but basic booklet for a difficult subject. Not a difficult read, but a must for any would be or experienced programmer.
2 reviews
March 10, 2024
This book is a quick read, yet insightful and straightforward. Highly recommended, especially if you're new to software engineering.
Profile Image for Lisa.
82 reviews1 follower
February 3, 2024
Yes. Names are hard, I could read this 10 times and still learn something new
Displaying 1 - 14 of 14 reviews

Can't find what you're looking for?

Get help and learn more about the design.