1. People have exactly one canonical full name.
  2. People have exactly one full name which they go by.
  3. People have, at this point in time, exactly one canonical full name.
  4. People have, at this point in time, one full name which they go by.
  5. People have exactly N names, for any value of N.
  6. People’s names fit within a certain defined amount of space.
  7. People’s names do not change.
  8. People’s names change, but only at a certain enumerated set of events.
  9. People’s names are written in ASCII.
  10. People’s names are written in any single character set.
  11. People’s names are all mapped in Unicode code points.

  1. People’s names are globally unique.
  2. People’s names are almost globally unique.
  3. Alright alright but surely people’s names are diverse enough such that no million people share the same name.
  4. My system will never have to deal with names from China.
  5. Or Japan.
  6. Or Korea.
  7. Or Ireland, the United Kingdom, the United States, Spain, Mexico, Brazil, Peru, Russia, Sweden, Botswana, South Africa, Trinidad, Haiti, France, or the Klingon Empire, all of which have “weird” naming schemes in common use.

  1. People have names.

(via Doing Terrible Things to your Code, HT @andrewducker)