CodeSOD: Objectifying Yourself

Date:

Share:

"Boy, stringly typed data is hard to work with. I wish there were some easier way to work with it!"

This, presumably, is what Gary's predecessor said. Followed by, "Wait, I have an idea!"

public static Object createValue(String string) {
	Object value = parseBoolean(string);
	if (value != null) {
		return value;
	}

	value = parseInteger(string);
	if (value != null) {
		return value;
	}

	value = parseDouble(string);
	if (value != null) {
		return value;
	}

	return string;
}

This takes a string, and then tries to parse it, first into a boolean, failing that into an integer, and failing that into a double. Otherwise, it returns the original string.

And it returns an object, which means you still get to guess what's in there even after this. You just get to guess what it returned, and hope you cast it to the correct type. Which means this almost certainly is called like this:

boolean myBoolField = (Boolean)createValue(someStringContainingABool);

Which makes the whole thing useless, which is fun.

Gary found this code in a "long since abandoned" project, and I can't imagine why it ended up getting abandoned.

[Advertisement]
Keep all your packages and Docker containers in one place, scan for vulnerabilities, and control who can access different feeds. ProGet installs in minutes and has a powerful free version with a lot of great features that you can upgrade when ready.Learn more.

Source link

Subscribe to our magazine

━ more like this

Delta SkyMiles® Platinum American Express Card Review

Terms apply to American Express benefits and offers. Enrollment may be required for select American Express benefits and offers. Visit americanexpress.com to learn more. If...

This Leadership Practice Keeps Teams Moving Amid Uncertainty

Opinions expressed by Entrepreneur contributors are their own. When uncertainty rises, many leaders do the reasonable thing....

Everything to Know About New ‘SNL’ Cast Member Veronika Slowikowska

After a medium-sized exodus, the new cast members of Saturday Night Live have been announced, and quite a few of them will be recognizable from...

The Permed Mullet Trend Making a Comeback in 2025

Permed Mullet The Permed Mullet is a bold, dynamic hairstyle that melds retro charm with contemporary flair. This cut features longer, curly locks cascading down...

654: Athletically Engaged

Pre-Show: Casey and Marco are sad Ben Rice McCarthy Under the Radar Follow-up: 🗣️ It’s St. Jude time again! 🗣️ The Marco Offset Anonymous crushes the dreams of Marco and...