this post was submitted on 17 Jun 2025
173 points (97.8% liked)

Programmer Humor

36598 readers
240 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] AmazingAwesomator@lemmy.world 28 points 3 days ago (8 children)

the fact that these are strings instead of an object that is broken up by country code, area code, and number makes me irrationally angry.

[–] JackbyDev@programming.dev 10 points 1 day ago

You absolute buffoon. How do you figure this code isn't testing how to parse a string into such an object??

[–] skullgiver@popplesburger.hilciferous.nl 11 points 2 days ago* (last edited 2 days ago)

Country codes are variable. Even the "I'm about to dial another country prefix" (usually + resolves to 00 but that depends on country and carrier) is variable. Phone number lengths are variable. Phone numbers are often written in non-Arabic numerals. Phone numbers can have specific digits in the middle of the number to reroute the call to another carrier.

You can try to parse phone numbers if you're writing a specific phone number parsing library, but you'll need to keep up with the ITU documents, the numbering plans of all countries and satellite providers, and provide support for older standards going back to the 60s. You'll need to deal with edge cases that your language probably doesn't even have names for. And most importantly, you'll have to guess what country the phone number is from based on context clues such as the user's language or location or locale because phone numbers can be and are reused across borders.

Phone numbers are worse than time zones. Don't parse them yourself unless you're building an international phone interconnect.

[–] HiddenLayer555@lemmy.ml 3 points 1 day ago

Better than an integer at least.

[–] Clent@lemmy.dbzer0.com 1 points 1 day ago

"The number" is itself two parts hence the dash. The first section being the prefix and the last part being the line number.

[–] gandalf_der_12te@discuss.tchncs.de 23 points 3 days ago (1 children)

i think you think that telephone numbers are well-structured. they are not. they are messy. they do not fit a certain schematic.

I recommend also the following topic: "people have names". https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/

Names do not in general fit into the schematic "first name, last name"

[–] CanadaPlus@lemmy.sdf.org 3 points 2 days ago* (last edited 2 days ago) (2 children)

Is there not a "falsehoods programmers think about phone numbers" yet?

Edit: And once again, I'm still confused about some of these. Do we need to expand unicode for names? It's supposed to be universal. WTF is up with 40?

[–] gandalf_der_12te@discuss.tchncs.de 2 points 2 days ago* (last edited 2 days ago) (1 children)

WTF is up with 40?

People have names.

I suppose that a counterexample to this might be Tibetan children, who get named at puberty, IIRC. Before that, they have no names. They are just referred to as "child" or "somebody's child".

People’s names are all mapped in Unicode code points.

I suppose a counterexample to that might be cultures which do not use script in general. Then, obviously, there's no Unicode characters for these non-existant glyphs.

[–] CanadaPlus@lemmy.sdf.org 1 points 2 days ago

Ah, so it dovetails with the whole "children get a name reasonably fast" thing. I was interpreting that as "ever, in a natural lifespan". My bad, haha.

I suppose a counterexample to that might be cultures which do not use script in general. Then, obviously, there’s no Unicode characters for these non-existant glyphs.

True, but there's little risk of a name being entered into a form without some kind of transcription.

[–] wizardbeard@lemmy.dbzer0.com 27 points 3 days ago* (last edited 3 days ago)

Could be tests for a parser to convert it from string to object.

Not like your end users are going to type each piece into a separate field.

[–] MyNameIsRichard@lemmy.ml 5 points 3 days ago (1 children)
[–] AmazingAwesomator@lemmy.world 7 points 3 days ago

microsoft java :p

[–] ddplf@szmer.info 3 points 3 days ago

You seem to enjoy overengineering your code, don't you?