Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Lint (software)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Successor linters == The analysis performed by lint-like tools can also be performed by an [[optimizing compiler]], which aims to generate faster code. Even though modern [[compiler]]s have evolved to include many of lint's historical functions, lint-like tools have also evolved to detect an even wider variety of suspicious constructs. These include "warnings about syntax errors, uses of [[Undefined variable|undeclared variables]], calls to deprecated functions, spacing and formatting conventions, misuse of scope, implicit fallthrough in [[Switch statement|switch statements]], missing license headers, [and]...dangerous language features".<ref name="phab">{{cite web|title=Arcanist User Guide: Lint|url=https://secure.phabricator.com/book/phabricator/article/arcanist_lint/|website=Phabricator|access-date=19 January 2018}}</ref> Lint-like tools are especially useful for [[Type system#DYNAMIC|dynamically typed languages]] like [[JavaScript]] and [[Python (programming language)|Python]]. Because the interpreters of such languages typically do not enforce as many and as strict rules during [[Execution (computing)|execution]], linter tools can also be used as simple [[debugger]]s for finding common errors (e.g. syntactic discrepancies) as well as hard-to-find errors such as [[heisenbug]]s (drawing attention to suspicious code as "possible errors").<ref>{{Cite web|url=https://www.thecodecampus.de/blog/eslint-customizable-javascript-linting-tool-1/|title=ESLint - Customizable JavaScript linting tool (1)|date=2015-06-09|website=theCodeCampus|language=en-US|access-date=2019-04-21}}</ref> Lint-like tools generally perform [[static code analysis|static analysis]] of source code.<ref>{{cite news|url=https://barrgroup.com/Embedded-Systems/How-To/Lint-Static-Analysis-Tool|title=How to Use Lint for Static Code Analysis|date=1 May 2002|work=Barr Group|first=Nigel| last = Jones}}</ref> Lint-like tools have also been developed for other aspects of software development, such as enforcing grammar and style guides for given language source code.<ref>{{Citation |title=rust-lang/rustfmt |date=2025-01-20 |url=https://github.com/rust-lang/rustfmt |access-date=2025-01-21 |publisher=The Rust Programming Language}}</ref> Some tools (such as [[ESLint]]) also allow rules to be auto-fixable: a rule definition can also come with the definition of a transform that resolves the warning. Rules about style are especially likely to come with an auto-fix. If the linter is run in "fix all" mode on a file that triggers only rules about formatting, the linter will act just like a formatter.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)