Linting
Linting is the automated analysis of source code to flag potential errors, style violations, and suspicious patterns before the code runs. A linter parses code into a syntax tree and checks it against a rule set, so problems like unused variables, unhandled promises, or unsafe type coercion surface while editing rather than in production. Teams usually run linters in the editor for instant feedback and again in continuous integration, where a failing rule can block a merge. Formatting is a related but separate concern: formatters rewrite whitespace and punctuation, while linters judge correctness and convention. ESLint remains the most widely used JavaScript linter, and Prettier handles formatting for many of the same projects. Biome bundles both jobs into a single Rust-based tool, and Ruff plays a similar role in Python. Type checking sits on top of this and catches a different class of bug than lint rules do. The common pitfall is treating lint output as noise. When a team disables rules instead of fixing them, the config drifts and the tool stops carrying signal. A small, agreed rule set that everyone keeps green is worth more than an exhaustive one that is routinely suppressed.