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

Why Your Airplane Ticket is So Expensive

I’ve been traveling for close to twenty years. In that time, the airline industry has changed a lot. The use of points and miles...

DNA Sequencing Reveals Hitler Was Type Of Fern

BATH, ENGLAND—Saying the discovery shed new light on the infamous German dictator’s life, University of Bath researchers revealed DNA sequencing Friday showing that Adolf...

How Anna Wintour’s Vogue front covers made a statement to the end | Anna Wintour

During her 37-year tenure as editor-in-chief of American Vogue, Anna Wintour has presided over more than 400 covers. December 2025’s, on newsstands this week,...

Outside In Carisa Janes New Beauty Brand Interview

Let’s start with the foundation: IMO, it’s much more of a skin tint (but a really good one) than actual foundation, since it looks...