Static analysis and linting