问题标签 [codesniffer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
38324 浏览

php - PHP CodeSniffer 有多大用处?一般的代码标准执行?

我正在尝试在我们的持续集成服务器上设置PHP CodeSniffer,以提高我们代码库的质量。阅读文档后,我对规范化和执行我们的编码标准的想法感到非常兴奋。但是,我想知道我们产品的实际改进。我很清楚,嗅探器只检测到对定义的编码标准的违反,但干净、一致的代码库提供了哪些类型的好处?用 100k+ 行代码重构一个项目以符合 PEAR 标准是否值得付出额外的工作?

对于那些不熟悉 PHP CodeSniffer 或 code-smell 的人,这里有一个示例输出:

文件:/path/to/code/myfile.php
发现 5 个错误影响 2 行
-
2 | 错误 | 缺少文件文档注释
20 | 错误 | PHP 关键字必须小写;预期为“假”,但发现“假”
47 | 错误 | 行没有正确缩进;预期 4 个空格,但找到 1
51 | 错误 | 缺少功能文档注释
88 | 错误 | 行没有正确缩进;预计有 9 个空格,但找到了 6 个

严格来说,用户/客户不会注意到被重构为符合标准的产品有任何区别,但我想知道是否还有其他隐藏的好处

现在我们的代码绝不马虎,我们尝试遵循我们自己的个人标准,这些标准大部分来自Pear 的编码标准,但训练有素的眼睛可以发现差异。

所以我的问题是它们能在多大程度上提高产品的质量。它带来了什么样的潜在利益?

我是否只是因为想要让我们的产品更接近一套标准而产生强迫症?值得吗?如果是这样,您使用什么样的策略来实现代码嗅探器并纠正检测到的后续违规行为?

0 投票
1 回答
902 浏览

phpunit - PHP-CodeBrowser 未正确遵循 checkstyle.xml 中的路径

我已经设置了phpUnderControl,它运行得很好,除了一些我没有在 PHP-CodeBrowser 选项卡中得到任何输出的项目。

如果我手动运行命令,我会得到:

我可以跟踪到 PHP-CodeSniffer 的 checkstyle.xml 输出。它包含:

我无法解决的是为什么 phpcb 正在丢弃一半的路径。我猜它是某种形式的路径替换(基于我的 --source 路径)与source出现在路径中两次的事实存在问题。请注意,缺少的路径部分是指定的源路径和最后一个 之间的位source

我在 phpcb 中发现了一个错误吗?如果是这样,我在哪里可以报告?我发现最接近 phpcb 的地方是phpUnderControl 发布页面上的链接,不幸的是它链接到 phpUnit github 中的一个损坏的 URL。

0 投票
1 回答
148 浏览

php - 如何在 Ant 中通过文件传递(cli)参数

我正在使用 Ant 来构建我的项目、生成文档并检查违反编码标准的情况。我通过 exec 任务使用了一些外部工具。Exec 在输出行前加上[exec]
This string 将我的输出弄乱了。如果我-e在命令行中指定开关,它会保持安静。

有没有办法

  • 在 build.xml 文件中指定-e每次运行的开关?
  • 或其他等效的东西。
0 投票
4 回答
6210 浏览

php - Git pre-receive hook 启动 PHP CodeSniffer

我想使用 PHP CodeSniffer 检查提交到我的远程 git 存储库的代码,如果代码标准有任何问题,则拒绝它。有没有人有一个如何在 git 远程存储库上使用它的例子,或者可能是如何将它与 pre-receive 挂钩使用的例子?谢谢。

0 投票
1 回答
666 浏览

php - 为什么我从 PHP CodeSniffer 中得到异常?

好吧,我从 PHPCS 收到了一个非常奇怪的错误:

关于这里发生了什么的任何提示?PEAR 的错误报告中提到了类似的东西,但它看起来像是在 2009 年修复的。我正在运行最新版本的 PHPCS,所以不知道该怎么想。

0 投票
1 回答
374 浏览

ant - 在 PHPUnderControl 中,我可以将 PHP_CodeSniffer 配置为忽略特定目录吗?

我最近一直在尝试设置 PHPUnderControl,这是一个基于 CruisControl 的持续集成服务器。我想运行的部分检查是 PHP CodeSniffer (PHPCS) 来检测“代码气味”。但是,让它在我的代码库上运行会导致检测到大量问题。其中大部分都可以在我通过 svn:externals 指令包含在我的 SVN 存储库中的库中找到,因此不受我的控制。

是否可以告诉PHP_CodeSniffer忽略我的 SVN 存储库的一部分,同时仍然验证其他部分?

0 投票
3 回答
2583 浏览

php - PHP代码嗅探器(phpcs)-作为svn预提交钩子的一部分使用时如何允许覆盖?

我们有一个 PHP 5 Web 应用程序,我们目前正在评估PHP CodeSniffer,以确定强制代码标准是否可以提高代码质量。

我们为我们的代码存储库和部署库使用subversion,并且我添加了一个 SVN预提交挂钩以确保所有提交的文件都没有编码标准的气味。该钩子在技术上有效,但会导致太多令人头疼的问题,实际上没有用:

  1. 如果我们必须修复导致站点中断的紧急错误,我们需要做的最后一件事是由于一些小的空格缩进问题而拒绝提交。
  2. 我们有很多遗留代码,有时会有数百个 phpcs 错误 - 现在修复这些文件中的所有 phpcs 错误是不切实际。一个例子是一个包含没有文档注释的函数的文件。另一个例子是,如果类名以小写字母开头,则会引发错误,但修复此问题可能涉及更改 10、20 多个需要提交的文件,然后将被嗅探、递归......
  3. 我们有一些文件有点大(例如 4000 行代码?),phpcs 需要几分钟来检查它们。将提交延迟这么长时间是不可接受的。
  4. 我还没有对此进行测试,但我想如果你做一个 svn 分支并提交它,phpcs 会检查所有内容并花费很长时间来检查所有 1000 个文件?

鉴于我们今天无法重构整个代码库 - 有谁知道我如何使用 svn 提交参数来告诉 svn 预提交钩子不运行 phpcs?

或者也许还有另一种方法可以消除所描述的头痛?

0 投票
1 回答
8920 浏览

php - 如何在 XAMPP 中使用 PHP_CodeSniffer?

我正在使用 Windows XP 运行 XAMPP。我只是下载 PHP_CodeSniffer 并且不知道如何运行它。

谢谢

0 投票
1 回答
2154 浏览

zend-framework - Netbeans 中的 Zend 编码标准

如何配置 Netbeans PHP 以遵循 Zend 编码标准?

我为此苦苦挣扎了一段时间,但仍然在多行函数参数上出现 phpcs 错误。

你会分享你的设置吗?

0 投票
1 回答
11079 浏览

php - 如何为 php 代码嗅探器调用自定义 ruleset.xml

我正在尝试为 php 代码嗅探器编写自定义 ruleset.xml,但从命令行调用它而不将其放入默认文件夹似乎不起作用。

由于文档似乎另有说明,我想问一下我是否在这里做错了什么

如果这不起作用:关于如何将您自己的编码标准与您的源代码一起提供的任何建议?谢谢