|
no bbq sauce on it? for shame
Programming is a race between programmers trying to build bigger and better idiot proof programs, and the universe trying to build bigger and better idiots, so far... the universe is winning.
|
|
|
|
|
Actually, there was BBQ sauce, as well as a bun and a leaf of lettuce, but I didn't mention that because it seemed like a given.
|
|
|
|
|
Programming is a race between programmers trying to build bigger and better idiot proof programs, and the universe trying to build bigger and better idiots, so far... the universe is winning.
|
|
|
|
|
My wife has a secret recipe for Hawaiian Pineapple Burgers. The patty has a round slice of pineapple placed on top of it and partially squeezed into the patty. It is then wrapped completely around in an X pattern with two slices of bacon. The patties are then placed in a 'special' marinade for about 12 to 14 hours. And then you cook them. You can then garnish the burger with anything you like, 'cause as you know, anything goes with bacon. These burgers are the moistest I've ever eaten.
Chris Meech
I am Canadian. [heard in a local bar]
In theory there is no difference between theory and practice. In practice there is. [Yogi Berra]
posting about Crystal Reports here is like discussing gay marriage on a catholic church’s website.[Nishant Sivakumar]
|
|
|
|
|
I'm trying to decipher the inner workings of ShadowBox (a lightbox variant), and I found this (except when I found it, it was all on one line of code:
return (aW == null) ? a0 === "!=" : a0 === "="
? a2 === aX : a0 === "*="
? a2.indexOf(aX) >= 0 : a0 === "~="
? (" " + a2 + " ").indexOf(aX) >= 0 : !aX
? a2 && aW !== false : a0 === "!="
? a2 !== aX : a0 === "^="
? a2.indexOf(aX) === 0 : a0 === "$="
? a2.substr(a2.length - aX.length) === aX : a0 === "|="
? a2 === aX || a2.substr(0, aX.length + 1) === aX + "-" : false;
Before anyone else mentions it, I *know* what a ternary comparison is and I use them all the time (and was doing so before many of you were even born), but I don't nest them like this. THAT is the shameful nature of the code. So, please stop trying to educate me as to the ways of the force.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997
modified on Thursday, April 28, 2011 3:50 PM
|
|
|
|
|
I think my brain just blue-screened.
|
|
|
|
|
I think the guy either "optimized' his code, or obfuscated it. I can't make out head nor tails of what the code does. I'm actually pissed off enough about it to try to find something else.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997
|
|
|
|
|
Yeah, looks like it may have passed through a JavaScript minifier (kinda like how jQuery has a commented version and another version that is minified).
|
|
|
|
|
That there's Friday Code. Run while you still can...
Panic, Chaos, Destruction.
My work here is done.
or "Drink. Get drunk. Fall over." - P O'H
OK, I will win to day or my name isn't Ethel Crudacre! - DD Ethel Crudacre
Have a bit more patience with newbies. Of course some of them act dumb -- they're often *students*, for heaven's sake. -- (Terry Pratchett, alt.fan.pratchett)
|
|
|
|
|
It's not that bad if you format it properly
return
(aW == null) ? a0 === "!="
: a0 === "=" ? a2 === aX
: a0 === "*=" ? a2.indexOf(aX) >= 0
: a0 === "~=" ? (" " + a2 + " ").indexOf(aX) >= 0
: !aX ? a2 && aW !== false
: a0 === "!=" ? a2 !== aX
: a0 === "^=" ? a2.indexOf(aX) === 0
: a0 === "$=" ? a2.substr(a2.length - aX.length) === aX
: a0 === "|=" ? a2 === aX || a2.substr(0, aX.length + 1) === aX + "-"
: false;
Basically it boils down to this
return the result of...
if condition then this
else condition then this
else condition then this
...
else this
|
|
|
|
|
Yuck is this for work or for personal use?
Craigslist Troll: litaly@comcast.net
"I have a theory that the truth is never told during the nine-to-five hours. "
— Hunter S. Thompson
|
|
|
|
|
Personal use...
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997
|
|
|
|
|
|
Either way... I'm glad I'm not maintaining that guy's stuff.
Personal or Professional, a good dev is not going to cut corners in the quality of their code in either.
Or am I the only anal retentive coder out there.
I wasn't, now I am, then I won't be anymore.
|
|
|
|
|
Bloody hell! this really needs a filter/translator to be understood or may take ages to be refined!!
|
|
|
|
|
If you work your head around inline IFs you'll find them really useful. I use them in C# all the time!!
|
|
|
|
|
I agree -- they help promote a nice functional style. But this example is over the top.
|
|
|
|
|
I'm not saying I don't understand this code. I'm saying this code is ridiculous. And it's called a ternary comparison, not "nested if's".
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997
|
|
|
|
|
If I read this correctly and my understanding of JavaScript precedence is correct, I think this is an ugly version of a big else-if statement. Something like this:
if (aw == null) {
return a0 === "!=";
} else if (a0 === "=") {
return a2 === aX;
} else if (a0 === "*=") {
return a2.indexOf(aX) >= 0;
} else if (a0 === "~=") {
return (" " + a2 + " ").indexOf(aX) >= 0;
} else if (!aX) {
return a2 && aW !== false;
} else if (a0 === "!=") {
return a2 !== aX;
} else if (a0 === "^=") {
return a2.indexOf(aX) === 0;
} else if (a0 === "$=") {
return a2.substr(a2.length - aX.length) === aX;
} else if (a0 === "|=") {
return a2 === aX || a2.substr(0, aX.length + 1) === aX + "-";
}
return false;
which you could also write as
return (aW == null) ? a0 === "!="
: (a0 === "=") ? a2 === aX
: (a0 === "*=") ? a2.indexOf(aX) >= 0
: (a0 === "~=") ? (" " + a2 + " ").indexOf(aX) >= 0
: (!aX) ? a2 && aW !== false
: (a0 === "!=") ? a2 !== aX
: (a0 === "^=") ? a2.indexOf(aX) === 0
: (a0 === "$=") ? a2.substr(a2.length - aX.length) === aX
: (a0 === "|=") ? a2 === aX || a2.substr(0, aX.length + 1) === aX + "-"
: false;
where this shows the IF on the left and the RETURN THIS on the left of the "?" on each line. Ugly. Un-maintainable. Yuck.
|
|
|
|
|
I actually prefer the second version from a readability point of view (now that you've reformatted so it makes sense). Stick a comment at the top to say what it's doing and it wouldn't be so bad. The variable names and dynamic typing I'll admit is horrendous for readability though.
|
|
|
|
|
Finally I see what it is doing after 10 mins of staring at the code.
|
|
|
|
|
There is nothing clever here; the code was obfuscated with a tool; it was intended to be hard to understand; the original code is probably very readable.
|
|
|
|
|
[quote]
There is nothing clever here; the code was obfuscated withby a tool; it was intended to be hard to understand; the original code is probably very readable.
[/quote]
FTFY
|
|
|
|
|
Try rewriting it using if ... else ... instead of ? :, this might increase readability to the point where you'll understand it.
But don't get your hopes high. This looks like some code intentionally obfuscated, potentially hand-crafted, intentionally written so it's not comprehensible, in order to prevent exactly what you are trying to do.
|
|
|
|
|
Wow! That's the scariest ternary I've ever seen
|
|
|
|