/awesome-naming

A curated list for when naming things is done right.

MIT LicenseMIT

Awesome Naming Awesome

Famously...

There are only two hard things in Computer Science: cache invalidation and naming things.

-- Phil Karlton

Concepts in Computer Science are usually nothing tangible so it's no surprise that naming things is hard. Nevertheless, we do come up with clever, creative and funny names. Some of them so established, we never pause and admire.

This is a curated list for when naming things is done right.

Contents


Data Structures and Algorithms

  • Stack - Data structure that only supports two operations: 1) adding a single object, and 2) removing the most recently added object. Analogy to a stack of (heavy/bulky) physical objects.

Design Patterns

Functions

  • trampoline - Continuously runs functions which itself return functions. Like a child on a trampoline that returns and bounces back up.
  • zip - Merges two lists into one list of pairs like the interlocking teeth of a zipper.

IT Security

  • Computer Virus - A computer program that self replicates by infacting other computer programs similar to the behavior of biological viruses.
  • Trojan horse - Malware which misleads users of its true intent. The term is derived from the Ancient Greek story of the deceptive Trojan Horse.
  • Sandbox - A save and isolated environment to test unverified programs that may contain malicious code.
  • Honeypot - Part of a system meant to look like an attractive target but actually helps detect and deflect attackers.
  • Backdoor - A method of bypassing normal authentication in a computer system.

Software

  • uppy - A dog themed uploader component. The name is a blend of upload and puppy. It comes with a crash recovery plugin called golden retreiver.

User Interface Elements

  • Carousel - A kind of animated slideshow looping back on itself.
  • Breadcrumb - Navigational aid allowing users to keep track of their location within programs, documents, or websites. The term is a reference to the fairy tale Hansel and Gretel.

Other

  • ACID vs. BASE - Acronyms describing competing database ideologies (aka. SQL vs. NoSQL).
  • camelCase, snake_case, kebab-case - Different case styles where the name illustrates its appearance.
  • Easter egg - A hidden feature especially in video games in reference to an Easter egg hunt.
  • Process starvation - A problem where a process is perpetually denied resources to do its work.
  • Lazy evaluation - An evaluation stategy which suspends evaluation until it's absolutly necessary and then never does it again.