vkcom/noverify

PHP 的快速代码检查器(静态分析工具)

安装次数: 44,359

依赖项: 2

建议者: 0

安全性: 0

星标: 670

关注者: 25

分支: 57

公开问题: 83

语言:Go


README

Build Status Go Report Card GitHub license Telegram chat

NoVerify

NoVerify 是一个 PHP 检查器:它可以在你的代码中找到可能的错误和风格违规。

  • NoVerify 没有配置:你的 PHPDoc 或 PHP 代码中的任何报告的问题都必须修复。
  • NoVerify 的目标是至少像 PHPStorm 一样理解 PHP 代码。如果它运行不正确或次优,请 报告问题
  • 此工具是用 Go 编写的,并使用了 z7zmey/php-parser 的分支。

特性

  1. 快速:在 Core i7 上分析 ~100k LOC/s(每秒代码行数);
  2. 增量:可以分析 git 中的更改并仅显示新的报告。索引速度约为 1M LOC/s;
  3. 对某些警告自动修复;
  4. 支持 PHP 7 和 PHP 8;
  5. 支持差异和基线模式。

默认检查

NoVerify 默认有以下检查

  • 无法到达的代码
  • 调用函数/方法时参数太少
  • 调用未定义的函数/方法
  • 获取未定义的常量/类属性
  • 找不到类
  • PHPDoc 不正确
  • 未定义的变量
  • 变量不总是定义
  • 没有 break; 的 case
  • 语法错误
  • 未使用变量
  • 错误访问私有/受保护的元素
  • 错误实现 IteratorAggregate 接口
  • 数组定义错误,例如重复键
  • 等等,你可以在这里查看完整的列表 这里

沙盒

现在在 沙盒 中尝试 NoVerify(目前不支持 Safari)。

插件

用户指南

将 NoVerify 作为检查器使用

扩展 NoVerify

将 NoVerify 作为 PHP 语言服务器 使用(版本 0.3.0 和以下版本)

贡献

欢迎为这个项目做出贡献。有关更多信息,请参阅 CONTRIBUTING.md。如果你想讨论某些内容,请加入我们的 Telegram 聊天 ru

许可证

NoVerify 在 VK.com(V Kontakte LLC)的名义下,根据 MIT 许可证分发。