GithubHelp home page GithubHelp logo

fuale / noverify Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vkcom/noverify

0.0 0.0 0.0 32.78 MB

Pretty fast linter (code static analysis utility) for PHP

License: MIT License

JavaScript 2.87% PHP 1.50% Go 93.07% TypeScript 0.88% CSS 0.83% Makefile 0.16% HTML 0.70%

noverify's Introduction

Build Status Go Report Card GitHub license Telegram chat

NoVerify

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 sub optimally, please report issue.
  • This tool is written in Go and uses fork of 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. Auto fixes for some warnings;
  4. PHP 7 and PHP 8 support;
  5. Diff and baseline modes support.

Default lints

NoVerify by default has the following checks:

  • Unreachable code
  • 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
  • And others, you can see the entire list here

Playground

Try NoVerify now in Playground (not supported Safari yet).

Plugins

User Guide

Using NoVerify as linter:

Extending NoVerify:

Using NoVerify as PHP language server (version 0.3.0 and bellow):

Contributing

Feel free to contribute to this project. See CONTRIBUTING.md for more information. Join our chat ru in a telegram if you want to discuss something.

The License

NoVerify is distributed under the MIT License, on behalf of VK.com (V Kontakte LLC).

noverify's People

Contributors

quasilyte avatar i582 avatar yuriynasretdinov avatar abbit avatar danil42russia avatar edgardmessias avatar whisk avatar ludweeg avatar tonygoold avatar proggga avatar sergey-shambir avatar ngkoshkin avatar bvwells avatar vajexal avatar u5surf avatar setpill avatar lebedevsergey avatar dhtdht020 avatar mryadro avatar tamaravedenina avatar idevoid avatar raphaelts3 avatar serafimarts avatar sosiska avatar rukus67 avatar blascsi avatar fuale avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.