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

How to Harness Prime Day Traffic Without Slashing Prices

Opinions expressed by Entrepreneur contributors are their own. Amazon Prime Day means different things to different people....

The Funniest Death by Dinosaur in Each ‘Jurassic Park’ Movie

Deep in the jungle of Isla Nublar, game warden Robert Muldoon instructs a group of park employees on how to handle the transfer of...

34 Early 4th Of July Fashion Sales 2025 To Shop

Fourth of July fashion sales are firing up like all the barbecues and fireworks we’re going to enjoy over the holiday weekend. And unlike...

“Teddy Blonde” Is The Low-Effort Hair Color For Summer

That said, it’s still hair color, so with that in mind, how often do you need to refresh teddy blonde? “To start with, I...

The 'Old Secretariat' in Panaji, India

Panaji, the capital of Goa, features a fantastic riverfront along the Mandovi River, which flows past the city and into the Arabian Sea....