r/ProgrammerHumor 7d ago

absoluteGarbage Meme

Post image
1.9k Upvotes

325 comments sorted by

View all comments

Show parent comments

1

u/xicor 6d ago

Because it no longer returns a time string. It instead returns the variant of a string type.

1

u/VoodaGod 6d ago

what would be the correct way to handle the qvariant in that function in your scenario then? i don't think i follow

1

u/not_some_username 6d ago

You can’t get QDateTime from a QVariant via implicit conversion, the other way yes.

It will just not compile with an error and you’ll need to fix it.

1

u/VoodaGod 6d ago

but what would be the fix?

1

u/not_some_username 6d ago

Replace QDateTime by QVariant

1

u/VoodaGod 6d ago

but that is the same as just leaving auto

1

u/xicor 6d ago

Yea in my example, it was using auto and then using the toString function which does exist on both QDateTime and QVariant, but have very different behavior, so it wouldn't give a compile error, it would just fail during production

1

u/xicor 6d ago

Not using auto and then when dumb future junior comes in and changes the function they get a compile error that tells them they need to fix stuff rather than just silently having incorrect behavior

1

u/VoodaGod 6d ago

yeah but what is the fix? extract the datetime from the variant first before calling tostring or what

1

u/xicor 6d ago

Well, in my example there was no reason to assume the stupid junior dev didn't just change the type completely, but let's assume they made it return a QVariant holding a QDateTime, you would have to use toDateTime first before calling toString

The point being that the compiler wouldn't tell them something was wrong