What error drives our eyes and ears amiss?
—William Shakespeare, The Comedy of Errors
When C was a young programming language, there were several common programming
errors that were not caught by the primitive compilers, so an accessory program
called lint was developed that would scan a source file, looking for problems.
As C matured, the definition of the language was strengthened to eliminate some
insecurities, and compilers got better at issuing warnings. lint is no longer needed.
JavaScript is a young-for-its-age language. It was originally intended to do small tasks
in web pages, tasks for which Java was too heavy and clumsy. But JavaScript is a very
capable language, and it is now being used in larger projects. Many of the features that
were intended to make the language easy to use are troublesome for larger projects.
A
lint for JavaScript is needed: JSLint, a JavaScript syntax checker and verifier.
JSLint is a code quality tool for JavaScript. It takes a source text and scans it. If it
finds a problem, it returns a message describing the problem and an approximate
location within the source. The problem is not necessarily a syntax error, although it
often is. JSLint looks at some style conventions as well as structural problems. It
does not prove that your program is correct. It just provides another set of eyes to
help spot problems.
JSLint defines a professional subset of JavaScript, a stricter language than that
defined by the third edition of the ECMAScript Language Specification. The subset is
closely related to the style recommendations from Chapter 9.
JavaScript is a sloppy language, but inside it there is an elegant, better language.
JSLint helps you to program in that better language and to avoid most of the slop.
JSLint can be found at http://www.JSLint.com/.
A linter or lint refers to tools that analyze source code to flag programming errors, bugs, stylistic errors, and suspicious constructs. The term originates from a Unix utility that examined C language source code.
No comments:
Post a Comment