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

Scan, Sign, and Manage Your Documents Right From Your Phone

Disclosure: Our goal is to feature products and services that we think you'll find...

‘”No OT! No exceptions!”. Sure thing boss man’: New manager bans all overtime, leading to understaffed production lines, losing $120,000 in a day, and...

The fantasy that planning replaces people is why plants stall, why teams burn out, and why bosses with slogans last a quarter, not a...

Fashion People are Swapping Sambas For Keen’s Jasper Trainers

I spend my days tracking trends, and usually, when a new style lands on my radar, I can quickly trace its origins and understand...

Perfecting the Girl’s Night Out Look

Ever since having my baby girl 5 months ago, there have been many days where I admittedly didn't put myself first. Okay, so maybe...

Today’s NYT Strands Hints, Answer and Help for Aug. 31 #546

Looking for the most recent Strands answer? Click here for our daily Strands hints, as well as our daily answers and hints for The New...