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

Response Time: Vol. 44 – The Intercom Blog

You satisfy your customers, but can you satisfy our curiosity? With Stephanie Smith, Manager, Customer Success at Collage. Please tell us a little bit about your...

“Nude Perfumes” Are the Secret to Making an Impression

You can call me big-headed if you like, but it's not like I've given myself the title of "best-smelling person in the room"; I've...

Revlon Brush Blow Dryer Review From a Beauty Editor

While each product featured is independently selected by our editors, we may include paid promotion. If you buy something through our links, we may...

Flag Fen Archeology Park – Atlas Obscura

Continually occupied from prehistory until today, the site of Flag...