CodeSOD: This Hits an Association
I recently have needed to write some systems that do analysis on a stream of samples. The target stream of the analysis process was stored in a variable targetOfAnal, because obviously, that's more efficient to type than targetOfAnalysis. I of course needed an analProcess and analComplete flag, and yes, my inner 13-year old was snickering the entire time.
James's co-worker decided to demonstrate that immature dirty jokes should only be taken so far. James heard him cursing up a storm, and thus offered to help debug whatever the problem was. You could say this code is hitting the "dirty variable names" button a bit too hard. I present it here without modification, because honestly, there is no way to censor this code and have it convey its full meaning. Ready your alt-tab before the boss comes by:
for(int ishit = 0; ishit < shit.size(); ++ishit) { shitareas.clear(); shitsubareas.clear(); if(messed_up_order) { messed_up_order = false; continue; } if(shit[ishit].areas != "" || shit[ishit].subareas != "") { if(shit[ishit].areas == "" && shit[ishit].subareas != "" && ishit+1<shit.size()) { messed_up_order = true; } if(shit[ishit].areas != "") { auto shitstart = shit[ishit].areas.begin(); auto shitend = shit[ishit].areas.begin(); while(shitend != shit[ishit].areas.end()) { shitend = search(shitstart, shit[ishit].areas.end(), delim.begin(), delim.end()); string asdf(shitstart,shitend); shitareas.push_back(asdf); shitstart = shitend + delim.size(); } } if(shit[ishit].subareas != "") { auto shitstart = shit[ishit].subareas.begin(); auto shitend = shit[ishit].subareas.begin(); while(shitend != shit[ishit].subareas.end()) { shitend = search(shitstart, shit[ishit].subareas.end(), delim.begin(), delim.end()); string asdf(shitstart,shitend); shitsubareas.push_back(asdf); shitstart = shitend + delim.size(); } } if(messed_up_order) { auto shitstart = shit[ishit+1].areas.begin(); auto shitend = shit[ishit+1].areas.begin(); while(shitend != shit[ishit+1].areas.end()) { shitend = search(shitstart, shit[ishit+1].areas.end(), delim.begin(), delim.end()); string asdf(shitstart,shitend); shitareas.push_back(asdf); shitstart = shitend + delim.size(); } } }}
It's a bit cheap to say this code is remarkably self-describing, but this is clearly a mishit. It's crass as the dickens. If this developer was paid in cash, it wouldn't surprise me. Imagine the code review- bet it would have been quite the pisser.
Honestly, it's variable asdf that's the worst thing here, but maybe that's because I type Dvorak.
[Advertisement] Release!is a light card game about software and the people who make it. Play with 2-5 people, or up to 10 with two copies - only $9.95 shipped!