Article ANCM CodeSOD: Required

CodeSOD: Required

by
Remy Porter
from The Daily WTF on (#ANCM)

Managing namespaces in JavaScript presents its own challenge, since the language's default behavior is to start slapping things into window. For this reason, people have built a number of libraries and practices to solve this problem.

Jared's company, for example, uses RequireJS to load dependencies, like the lodash utility-belt library. Sadly for Jared, their new hire proved that all the module-loading libraries in the world don't solve incompetence.

if (_) { if (__) { if (___) { if (____) { if (_____) { if (______) { if (_______) { if (________) { if (_________) { if (__________) { if (___________) { if (____________) { if (_____________) { if (______________) { if (_______________) { if (________________) { if (_________________) { if (__________________) { if (___________________) { if (____________________) { if (_____________________) { if (______________________) { if (_______________________) { if (________________________) { if (_________________________) { if (__________________________) { if (___________________________) { if (____________________________) { if (_____________________________) { if (______________________________) { if (_______________________________) { if (________________________________) { if (_________________________________) { if (__________________________________) { if (___________________________________) { if (____________________________________) { if (_____________________________________) { if (______________________________________) { if (______________________________________) { if (_______________________________________) { } else { ________________________________________ = require('lodash'); } } else { _______________________________________ = require('lodash'); } } else { ______________________________________ = require('lodash'); } } else { _____________________________________ = reqeire('lodash'); } } else { ____________________________________ = require('lodash'); } } else { ___________________________________ = require('lodash'); } } else { __________________________________ = require('lodash'); } } else { _________________________________ = require('lodash'); } } else { ________________________________ = require('lodash'); } } else { _______________________________ = require('lodash'); } } else { ______________________________ = require('lodash'); } } else { _____________________________ = require('lodash'); } } else { ____________________________ = require('lodash'); } } else { ___________________________ = require('lodash'); } } else { __________________________ = require('lodash'); } } else { _________________________ = require('lodash'); } } else { ________________________ = require('lodash'); } } else { _______________________ = require('lodash'); } } else { ______________________ = require('lodash'); } } else { _____________________ = require('lodash'); } } else { ____________________ = require('lodash'); } } else { ___________________ = require('lodash'); } } else { __________________ = require('lodash'); } } else { _________________ = require('lodash'); } } else { ________________ = require('lodash'); } } else { _______________ = require('lodash'); } } else { ______________ = require('lodash'); } } else { _____________ = require('lodash'); } } else { ____________ = require('lodash'); } } else { ___________ = require('lodash'); } } else { __________ = require('lodash'); } } else { _________ = require('lodash'); } } else { ________ = require('lodash'); } } else { _______ = require('lodash'); } } else { ______ = require('lodash'); } } else { _____ = require('lodash'); } } else { ____ = require('lodash'); } } else { ___ = require('lodash'); } } else { __ = require('lodash'); }} else { _ = require('lodash');}

The advantage to this pattern is that it allows the lodash library to be loaded into 40 different variables. That's an advantage, right?

i(C)inedo50.png[Advertisement] Use NuGet or npm? Check out ProGet, the easy-to-use package repository that lets you host and manage your own personal or enterprise-wide NuGet feeds and npm repositories. It's got an impressively-featured free edition, too! TheDailyWtf?d=yIl2AUoC8zAjJAotxj-a5A
External Content
Source RSS or Atom Feed
Feed Location http://syndication.thedailywtf.com/TheDailyWtf
Feed Title The Daily WTF
Feed Link http://thedailywtf.com/
Reply 0 comments