Reka Horvath

The Name of the Rose

A reused, single-letter flag led to a system failure that cost a company $500 million. Learn how better naming prevents catastrophic bugs.

The Name of the Rose
#1about 3 minutes

Why good naming is critical for understanding code

Good names act as an introduction to a domain's core concepts, making code more approachable for newcomers.

#2about 2 minutes

How mental models influence code interpretation

We process code using the same mental shortcuts as natural language, creating meaningful chunks and making assumptions based on names.

#3about 3 minutes

The danger of misleading function names

A function's name must not misrepresent its behavior, such as hiding side effects or returning unexpected types.

#4about 2 minutes

Using specific names instead of general terms

Overly general names like 'process' or 'handle' obscure a function's true purpose and should be replaced with more descriptive alternatives.

#5about 4 minutes

Establishing a one-to-one mapping for concepts

Maintain clarity by assigning exactly one name to each concept, avoiding both synonyms and using one name for multiple different ideas.

#6about 3 minutes

A cautionary tale of catastrophic naming failure

The Knight Capital case illustrates how a seemingly small naming ambiguity, when combined with other system faults, can lead to massive financial loss.

#7about 5 minutes

Designing consistent and intuitive APIs

APIs that are consistent with domain nomenclature or established frameworks are easier for developers to learn and use correctly.

#8about 2 minutes

Keeping names updated as code and business evolve

Names must be re-evaluated and updated when underlying technology or business domain concepts change to prevent them from becoming misleading.

#9about 4 minutes

Summary of key principles for effective naming

The core principles of good naming are to avoid being misleading, consider the reader's perspective, respect context, and maintain names over time.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

Related Articles

View all articles
BR
Benjamin Ruschin
What Developers Really Need to Create Great Code Demos
Every developer on earth has, at some point, had another developer to thank for a breakthrough, a success, an aha moment they wouldn’t have had without coming across that blog post, that open-source contribution, that reply on socials or that humble ...
What Developers Really Need to Create Great Code Demos
DC
Daniel Cranney
The real reason we document our code
The world of software development moves fast. Technology is constantly changing, as are the tools we use with it, and even the role of a programmer is itself constantly in flux. However, some aspects of software engineering are so foundational that w...
The real reason we document our code
DC
Daniel Cranney
Dev Digest 194: AI vs. Version Control, Password Louvre & Cursed Webdev
Inside last week’s Dev Digest 194 . 🧠 Learn how to become an AI-native software engineer 🤷‍♂️ How can you stand out when anyone can build anything? 👂 Whisper Leak allows listening to encrypted chats 🐝 What’s new the OWASP2025 Top Ten List 🙅‍♀️ Curse...
Dev Digest 194: AI vs. Version Control, Password Louvre & Cursed Webdev
DC
Daniel Cranney
Dev Digest 154: Responsible AI? Mistakes of CSS & track all the things!
Inside last week’s Dev Digest 154 . 💰 Google pushing for AI on device with Web AI fund and lots of APIs 📱 Track your own location using in-app ads 🍎 Track your hardware using Apple’s location service 📈 Get insight into your network traffic 🤖 Respons...
Dev Digest 154: Responsible AI? Mistakes of CSS & track all the things!

From learning to earning

Jobs that call for the skills explored in this talk.

Rust and GoLang

Rust and GoLang

NHe4a GmbH
Karlsruhe, Germany

Remote
55-65K
Intermediate
Senior
Go
Rust
Software Architect

Software Architect

Trust In Soda
Zürich, Switzerland

CHF187-239K
NoSQL
DevOps
NestJS
Docker
+4