该软件包已被废弃,不再维护。未建议替代软件包。

PHP_CodeSniffer和JSCS的shell脚本包装器

0.3.0 2016-09-08 02:52 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:57:10 UTC


README

Circle CI Latest Stable Version Total Downloads License

通过一条命令将所有代码审查依赖项都带上!

安装

有3种选择

1. 全局安装

安装一次,为每个项目初始化,或运行“按原样”来扫描自定义文件。

composer global require alexdesignworks/dcr
dcr install && source ~/.profile
cd your_project_dir
dcr init

全局构建状态(https://github.com/alexdesignworks/dcr-global-demo):Circle CI

2. 每个项目本地安装

composer require alexdesignworks/dcr
vendor/bin/dcr install && source ~/.profile

本地构建状态(https://github.com/alexdesignworks/dcr-demo):Circle CI

3. 将其作为特定项目的composer依赖项安装

composer.json

{
  "minimum-stability": "dev",
  "require-dev": {
    "alexdesignworks/dcr": "0.1.*"
  },
  "scripts": {
    "post-update-cmd": [
      "bash vendor/bin/dcr install"
    ]
  }
}

用法

从之前初始化的目录

dcr

用于自定义代码检查(假设DCR已全局安装)

dcr file_or_directory

常见问题解答

这是什么?

DCR(Drupal代码审查)是一个命令行实用程序,用于检查生成的代码是否符合Drupal编码标准和最佳实践。

更具体地说

它是一个围绕PHP_CodeSniffer和JSCS的shell脚本包装器,具有与Drupal相关的代码检查。它使用本机和自定义的第三方phpcs检查。

为什么我应该使用它?

简单来说 - 便利。只需运行一条命令dcr即可进行代码审查。

为什么存在它?

  1. 易于安装: composer require alexdesignworks/dcr
  2. 减少误报: Drupal特定的异常允许有干净的DCR输出。
  3. 简单调用:无需使用大量的令人困惑的参数调用phpcs。只需使用dcr即可。
  4. JS 代码检查:无需安装独立的 JS 代码检查工具。
  5. 基于项目的配置:使用 .dcr.yml 文件为每个项目配置 dcr,并确保团队成员使用完全相同的标准。

为什么它是一个独立的工具?

需要一个简单的方法来使用单个命令审查代码,同时足够灵活,可以处理基于项目的嗅探规则定制,并可插入 CI 管道中。

DCR 可以作为一个 composer 开发依赖项安装到您的项目中,也可以全局安装。

DCR 包含以下内容

  • PHP_CodeSniffer 与 Drupal、Drupal Practice 嗅探器。
  • 额外的 DCR 嗅探器,包含更具体的 Drupal 规则。
  • 自定义项目相关的嗅探器 - 对于任何自定义包含都非常方便。
  • 使用 JSCS 进行 JavaScript 代码审查。
  • 彩色 CLI 输出 - 容易发现问题。

它能否在提交时自动审查代码?

是的。可以在 git pre-commit 钩子中使用它。

它能否作为自动化构建的一部分使用?

是的。实际上,已经设置了 dcr-demodcr-global-demo 项目来测试 dcr 集成。

它能否自动修复代码?

是的!如果您运行 dcr fix,它将尝试使用当前嗅探器配置的 phpcbf 在所有文件中修复代码。

那么 PHP_CodeSniffer 和 Drupal Coder 模块呢?

DCR 只是 PHP_CodeSniffer 和 Drupal Coder 的包装。它不会对代码标准添加更多约束。

路线图

  • 显示成功和失败状态消息 完成
  • 允许 DCR 嗅探器 完成
  • 允许自定义嗅探器 完成
  • 自动修复 完成 dcr fix
  • 允许仅从项目根目录或任何子目录运行 完成
  • 添加 JS 代码检查 完成 使用 JSCS
  • 限制文件扫描到 N 个失败的文件
  • 仅扫描与 main 分支相比当前分支中更改的文件。

许可

GPL2