Off Color – The Daily WTF

Date:

Share:

Carolyn inherited a somewhat old project that had been initiated by a “rockstar” developer, and then passed to developer after developer over the years. They burned through rockstars faster than Spinal Tap goes through drummers. The result is gems like this:

private void init(){
	ResourceHelper rh = new ResourceHelper();
	for ( int i = 0; i < 12; i++) {
		months[i] = rh.getResource("calendar."+monthkeys[i]+".long");
		months_s[i] = rh.getResource("calendar."+monthkeys[i]+".short");
	}
	StaticData data = SomeService.current().getStaticData();
	this.bankHolidayList = data.getBankHolidayList();
	colors.put("#dddddd", "#dddddd");
	colors.put("#cccccc", "#cccccc");
	colors.put("#e6e6e6", "#e6e6e6");
	colors.put("#ff0000", "#ffcccc");
	colors.put("#ffff00", "#ffffcc");
	colors.put("#00ff00", "#ccffcc");
	colors.put("#5050ff", "#ccccff");
	colors.put("#aa0000", "#ff9999");
	colors.put("#ff8000", "#ffcc99");
	colors.put("#99ff99", "#ccffcc");
	colors.put("#ffcc99", "#ffffcc");
	colors.put("#ff9966", "#ffcc99");
	colors.put("#00c040", "#99cc99");
	colors.put("#aadddd", "#ccffff");
	colors.put("#e0e040", "#ffff99");
	colors.put("#6699ff", "#99ccff");
}

There are plenty of things in this function that raise concerns- whatever is going on with the ResourceHelper and the monthkeys array, for example. But let’s just breeze past that into that colors lookup table, because boy oh boy.

There’s the obvious issue of using server-side code to manage colors instead of CSS, which is bad, sure. But this translation table which converts some colors (presumably already used in the display?) to some other colors (presumably to replace the display colors) is downright mystifying. How did this happen? Why did this happen? What happens when we attempt to apply a color not in the lookup table?

I want to say more mean things about this, but the more I stare at the original colors and what they get translated to, I think this lookup table is trying to tell me I should…


lighten up.

[Advertisement]
Keep the plebs out of prod. Restrict NuGet feed privileges with ProGet. Learn more.

Source link

Subscribe to our magazine

━ more like this

Escape the competition, with Peter Thiel

DARYL WOODSON: Speed is not manufactured by how fast the feet move, but how much force per step. REID HOFFMAN: That’s Darryl Woodson, a...

‘People Who Go In That Locker Room Come Out…Different,’ Jets Custodian Warns Aaron Glenn

EAST RUTHERFORD, NJ—Speaking grimly as he mopped the floor beneath flickering fluorescent lights, longtime MetLife Stadium custodian Keith Browning reportedly approached first year New...

18 Chic Pieces From Boden’s Autumn Edit—All Editor Approved

Humaa is the Junior Branded Content Editor at Who What Wear UK, where she specialises in paid-for and affiliate content across beauty and fashion....

Analog(ue) #227: It’s Gonna Go How It’s Gonna Go

#227: It's Gonna Go How It's Gonna Go July 7th, 2024 · 80 minutes Casey's back from California, and soon he'll be joining Myke in London! This episode of Analog(ue) is...

The blueprint for AI in support didn’t exist. Until now.

Rolling out an AI Agent doesn’t just change how your team works – it changes who your team is. That’s something we learned firsthand. Before...