All Projects → VKCOM → Noverify

VKCOM / Noverify

Licence: mit
Pretty fast linter (code static analysis utility) for PHP

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Labels

Projects that are alternatives of or similar to Noverify

Go Tools
Staticcheck - The advanced Go linter
Stars: ✭ 4,317 (+842.58%)
Mutual labels:  linter
Clusterlint
A best practices checker for Kubernetes clusters. 🤠
Stars: ✭ 409 (-10.7%)
Mutual labels:  linter
Elm Analyse
A tool that allows you to analyse your Elm code, identify deficiencies and apply best practices.
Stars: ✭ 418 (-8.73%)
Mutual labels:  linter
Verible
Verible is a suite of SystemVerilog developer tools, including a parser, style-linter, and formatter.
Stars: ✭ 384 (-16.16%)
Mutual labels:  linter
Singel
Single Element Pattern
Stars: ✭ 404 (-11.79%)
Mutual labels:  linter
Lockfile Lint
Lint an npm or yarn lockfile to analyze and detect security issues
Stars: ✭ 411 (-10.26%)
Mutual labels:  linter
Eslint
Find and fix problems in your JavaScript code.
Stars: ✭ 19,665 (+4193.67%)
Mutual labels:  linter
Rubocop Rails
A RuboCop extension focused on enforcing Rails best practices and coding conventions.
Stars: ✭ 433 (-5.46%)
Mutual labels:  linter
Gitlint
Linting for your git commit messages
Stars: ✭ 404 (-11.79%)
Mutual labels:  linter
Eslint Config Standard React
ESLint Shareable Config for React/JSX support in JavaScript Standard Style
Stars: ✭ 416 (-9.17%)
Mutual labels:  linter
Lynt
✨ A zero config JavaScript linter with support for Typescript, Flow, and React.
Stars: ✭ 390 (-14.85%)
Mutual labels:  linter
Go Ruleguard
Define and run pattern-based custom linting rules.
Stars: ✭ 402 (-12.23%)
Mutual labels:  linter
Alex
Catch insensitive, inconsiderate writing
Stars: ✭ 4,124 (+800.44%)
Mutual labels:  linter
Isort
A Python utility / library to sort imports.
Stars: ✭ 4,377 (+855.68%)
Mutual labels:  linter
Checkmake
experimental linter/analyzer for Makefiles
Stars: ✭ 420 (-8.3%)
Mutual labels:  linter
Awesome Lint
Linter for Awesome lists
Stars: ✭ 385 (-15.94%)
Mutual labels:  linter
Sqlvet
Go fearless SQL. Sqlvet performs static analysis on raw SQL queries in your Go code base.
Stars: ✭ 410 (-10.48%)
Mutual labels:  linter
Awesome Linters
A community-driven list of awesome linters.
Stars: ✭ 439 (-4.15%)
Mutual labels:  linter
Ktlint
An anti-bikeshedding Kotlin linter with built-in formatter
Stars: ✭ 4,629 (+910.7%)
Mutual labels:  linter
Sonar Kotlin
SonarQube plugin for Kotlin
Stars: ✭ 412 (-10.04%)
Mutual labels:  linter

NoVerify Build Status

NoVerify is a PHP linter: it finds possible bugs and style violations in your code.

  • NoVerify has no config: any reported issue in your PHPDoc or PHP code must be fixed.
  • NoVerify aims to understand PHP code at least as well as PHPStorm does. If it behaves incorrectly or suboptimally, please report issue.
  • This tool is written in Go and uses z7zmey/php-parser.

Features

  1. Fast: analyze ~100k LOC/s (lines of code per second) on Core i7.
  2. Incremental: can analyze changes in git and show only new reports. Indexing speed is ~1M LOC/s.
  3. Experimental language server for VS Code and other editors that support language server protocol (version 0.3.0 and below).
  4. Auto fixes for some warnings (when -fix flag is provided).

Default lints

NoVerify by default has the following checks:

  • Unreachable code
  • Array access to non-array type
  • Too few arguments when calling a function/method
  • Call to undefined function/method
  • Fetching of undefined constant/class property
  • Class not found
  • PHPDoc is incorrect
  • Undefined variable
  • Variable not always defined
  • Case without "break;"
  • Syntax error
  • Unused variable
  • Incorrect access to private/protected elements
  • Incorrect implementation of IteratorAggregate interface
  • Incorrect array definition, e.g. duplicate keys

User Guide

Using NoVerify as linter:

Extending NoVerify:

Using NoVerify as PHP language server:

Contribute

Just find good first issue, fix it and make pull request.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].