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.
Name of

Name of

Remote
Intermediate
PHP
Java
+1

Featured Partners

Related Articles

View all articles
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
BB
Benedikt Bischof
How we Build The Software of Tomorrow
Welcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Thomas Dohmke who introduced us to the future of AI – coding.This is how Thomas describes himself:I am the CEO of GitHub and drive the company’s...
How we Build The Software of Tomorrow
CH
Chris Heilmann
Dev Digest 125 - Duck and Cover
This issue was written live at the WeAreDevelopers World Congress in Berlin with us being incredibly busy, but this shouldn't mean you don't get some hot resources. News and ArticlesLet's start with AI news: Google and Microsoft consume more power th...
Dev Digest 125 - Duck and Cover

From learning to earning

Jobs that call for the skills explored in this talk.

Joby

Saby Company Page
Sarajevo, Bosnia and Herzegovina

Remote
40-45K
Junior
Ruby on Rails
Microsoft SQL Server
Google Cloud Platform
+2