File this in the unusual category, XHTML which likely all of us have used, never officially supported target=_blank for hyperlinks. XHTML Strict 1.0 – target=“_blank” not valid? is a more detailed discussion of this on StackOverflow. Ultimately it was only ever incorporated into the transitional specification. I just find it really ironic how something all of us take for granted wasn’t even in the official language specification.
Avoid conventions that demonstrate a lack of competence
Straight up says don’t do stuff just because it’s easier. Do stuff right. Or you suck.
Well said Crockford, well said.
Taking the best real world example from StackOverflow:
A Fibonacci generator:
for ( var i=2, r=[0,1]; i<15; r.push(r[i-1] + r[i-2]), i++ ); // 0,1,1,2,3,5,8,13,21,34,55,89,144,233,377
That’s some crazy stuff there. It certainly looks cool at how you just 1 lined the Fibonacci sequence, but it certainly doesn’t add readability to code. I’m sure this is why Crockford advises against it.
Code that your first thought looking at it is #WTF does not belong in your codebase. The only exceptions to this are extreme performance optimized codeblocks that were deemed necessary by actual profiling. Optimizing without a profiler is the ultimate exercise in futility. You will most likely just make your application slower, harder to understand, and never touched the original problem.