Falsehoods Programmers Believe About Phone Numbers
written December 11, 2017
Inspiried by this post and also some design decisions taken with Telegram.
- People have exactly one canonical phone number.
- People have exactly one phone number which they use.
- People have, at this point in time, exactly one canonical phone number.
- People have, at this point in time, one phone number which they use.
- People's phone numbers always have a fixed number of digits.
- Two phone numbers in the same country code will have the same number of digits.
- People's phone numbers do not change.
- People's phone numbers change, but only at a certain enumerated set of events.
- People's phone numbers use a fixed set of punctuation marks that can be safely stripped.
- Phone numbers do not contain letters.
- Phone numbers do not contain repeating digits.
- All country codes are the same length.
- All phone numbers have a country code.
- Phone number formats within a country code do not change.
- People's phone numbers are globally unique.
- Phone numbers are not reused.
- My system will never have to deal with phone numbers outside the NANP.
- Two different systems containing data about the same person will use the same phone number for that person.
- Two different data entry operators, given a person's phone number, will by necessity enter bitwise equivalent strings on any single system, if the system is well-designed.
- People have phone numbers.