Cargo-cult programming is what a programmer does when he or she doesn't know a particular language or paradigm well enough, and so ends up writing redundant and possibly harmful code. It rears its head quite often in the land of JavaScript. In this article, James Padolsey explores the concept of cargo-cult programming and places to watch out for it in JavaScript.
Cargo-culting is sometimes defined as "the extreme adherence to the form
instead of content." The form, in programming, being the syntax,
paradigms, styles and patterns that we employ. The content being the
abstract thing that you are seeking to represent through your code — the
very substance of your program. A person with lacking understanding in
an area is likely to copy the form of others without truly
understanding, and thus their content — their program — can suffer.
Cargo-culting
is curiously common in JavaScript, probably because of the general low
barrier to entry in the front-end development world. You can whip up an
HTML page with a bit of JavaScript in seconds. As a result, there are
many people who become sufficiently proficient in these technologies to
feel comfortable creating and imposing rules on themselves and others.
Eventually, other newcomers copy these rules. Dogmatic rules surface and
spread, until they are considered the norm:
- Always use strict equality operators
- Never use eval
- Always use a single var declaration per scope
- Always use an IIFE – it “protects” you
A rule continues to spread until a programmer is only using a given technique because of its popularity, instead of considering each specific use-case independently.
Comments
Be the first to write a comment
You must me logged in to write a comment.