问题标签 [pdepend]

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 投票
1 回答
274 浏览

php - 就 PHP Depend 而言,什么是“包”?

http://pdepend.org/documentation/handbook/reports/overview-pyramid.html上说:

NOP - 包数度量标准对分析的软件系统中的包进行计数。

“包”如何确定?它只是@packagephpdoc属性值吗?

0 投票
1 回答
747 浏览

php - PHP Depend 代码指标分析

我正在尝试使用 PHP Depend (http://pdepend.org) 比较两个 PHP 项目。一个是一年前由一群学生编写的基于页面的 PHP 应用程序,第二个是我在过去一年中工作的。目的是提供一些定量统计数据,这些统计数据可能有助于验证重构项目(引入 MVC 架构和大量重构以更好地应用 OO 原则)已导致降低复杂性和耦合等。

我面临的问题是,在分析旧项目时,PHP 依赖忽略了以过程编程风格编写的文件。它只选择那些定义了类的文件。我不知道为什么以前的学生选择了这种混合风格的代码编写方式,但他们确实做到了。

这是 PHP Depend 的工作方式还是我可以使用一些设置来分析所有文件。该网站提供的帮助很少。如果 PHP Depend 只能分析具有定义的类和方法的文件,我如何生成一些代码指标来验证我的项目?

0 投票
1 回答
16676 浏览

charts - Jenkins 在仪表板上显示图表

可能重复:
Jenkins - 将图表添加到作业界面

第一个问题是 - 如何将 pdepend 图表添加到 Jenkins 的仪表板(在项目标题下)?

第二个问题(我不能只用第一个提交帖子 - 没有足够的文字:P) - 我如何开始使用 phpmd?我的意思是,好吧..我在 CLI 中输入:phpmd 文件夹/文本命名。它有什么作用?它是否应该创建一些报告文件并检查给定位置中的命名内置约定?我在文档中找不到任何关于此的内容。

0 投票
0 回答
647 浏览

php - pdepend,没有可用的版本

我正在尝试在我的 Centos 6.3 服务器上安装PDepend 。出于某种原因,我经常收到一个错误,即没有可用的软件包/版本。

我已经执行的事情:

  • 梨升级
  • 梨清除缓存
  • 梨频道发现 pear.pdepend.org
  • 梨安装 pdepend
  • 梨安装 pdepend/PHP_Depend-beta
  • 梨远程列表-c pdepend

他们都没有给我指明任何方向。除了没有可用于包“pear.pdepend.org/PHP_Depend”的版本外,没有发生错误

最奇怪的是,我成功地在我的 Ubuntu 服务器上安装了 pdepend。在这种情况下,前 3 个步骤是安装 pdepend 所需的唯一步骤。

有人建议我如何安装 pdepend 吗?

0 投票
1 回答
226 浏览

php - PHP Depend (pdepend) 忽略 @package 并使用命名空间作为包

我试图将一些 PHP 框架的指标与 PHP Depend 进行比较,并遇到了烦人且可能是意外的行为:

注释被忽略,@package命名空间被视为包。这是一个问题,因为通常使用的子名称空间并不意味着单独的包(即SomePackage\Exception

示例类文件

示例报告

现在我的问题是:这是什么原因,我该如何解决?

0 投票
1 回答
372 浏览

sonarqube - 使用 PHP_Depend 和 PHP_PMD 时出错

我在使用 php Depend 和 PMD 时遇到问题。当我使用:

这是结果:

解析
……………………………………………………………………………………………………………………………………………… .... 1260
.........................PHP Catchable 致命错误:传递给 PHP_Depend_Parser_UnexpectedTokenException::__construct() 的参数 1 必须是 PHP_Depend_Token 的实例,给定整数,调用在第 5444 行的 /usr/share/php/PHP/Depend/Parser.php 中并在第 70 行的 /usr/share/php/PHP/Depend/Parser/UnexpectedTokenException.php 中定义 PHP 堆栈跟踪:PHP 1. {main} () /usr/bin/pdepend:0 PHP 2. PHP_Depend_TextUI_Command::main() /usr/bin/pdepend:78 PHP 3. PHP_Depend_TextUI_Command->run() /usr/share/php/PHP/Depend/TextUI/Command .php:679 PHP 4. PHP_Depend_TextUI_Runner->run() /usr/share/php/PHP/Depend/TextUI/Command.php:206 PHP 5. PHP_Depend->analyze() /usr/share/php/PHP/Depend /TextUI/Runner.php:331 PHP 6. PHP_Depend->performParseProcess() /usr/share/php/PHP/Depend.php:306 PHP 7.PHP_Depend_Parser->parse() /usr/share/php/PHP/Depend.php:560 PHP 8. PHP_Depend_Parser->parseOptionalStatement() /usr/share/php/PHP/Depend/Parser.php:370 PHP 9. PHP_Depend_Parser- >parseIfStatement() /usr/share/php/PHP/Depend/Parser.php:5474 PHP 10. PHP_Depend_Parser->parseStatementBody() /usr/share/php/PHP/Depend/Parser.php:3195 PHP 11. PHP_Depend_Parser- >parseStatement() /usr/share/php/PHP/Depend/Parser.php:2320 PHP 12. PHP_Depend_Parser_UnexpectedTokenException->__construct() /usr/share/php/PHP/Depend/Parser.php:5444PHP_Depend_Parser->parseStatementBody() /usr/share/php/PHP/Depend/Parser.php:3195 PHP 11. PHP_Depend_Parser->parseStatement() /usr/share/php/PHP/Depend/Parser.php:2320 PHP 12. PHP_Depend_Parser_UnexpectedTokenException->__construct() /usr/share/php/PHP/Depend/Parser.php:5444PHP_Depend_Parser->parseStatementBody() /usr/share/php/PHP/Depend/Parser.php:3195 PHP 11. PHP_Depend_Parser->parseStatement() /usr/share/php/PHP/Depend/Parser.php:2320 PHP 12. PHP_Depend_Parser_UnexpectedTokenException->__construct() /usr/share/php/PHP/Depend/Parser.php:5444

同样的情况发生在:

PHP Catchable 致命错误:传递给 PHP_Depend_Parser_UnexpectedTokenException::__construct() 的参数 1 必须是 PHP_Depend_Token 的实例,给定整数,在 /usr/share/php/PHP/Depend/Parser.php 的第 5444 行调用并在 /usr/ 中定义share/php/PHP/Depend/Parser/UnexpectedTokenException.php 在第 70 行 PHP 堆栈跟踪:

¿ 有什么建议吗?谢谢。

0 投票
2 回答
3177 浏览

php - 为什么三元运算符比 if/else 更复杂?

我正在使用 pdepend 测试我的库,并且某些函数的复杂性非常高。我刚刚意识到它来自三元运算符,但我不知道为什么。

具有如下功能:

pdepend 返回 5 的复杂度(npath)。为什么有 5 条不同的路径?我只看到2个。

具有如下功能:

npath 复杂度为 2。这是有道理的。


编辑:好的,我看了另一个问题:PMD - NPath complex very high with ternary operator (?

它是算法的一部分。不过,该函数只有 2 条可能的路径。该算法对我没有意义。节点数不反映路径数,任意加2。

0 投票
1 回答
75 浏览

php - 由于缺少 pdepend,构建失败的 ANT

我一直在尝试设置一个ubuntu服务器,让 ant 测试我的代码。当我启动 ANT 来测试我的代码时,它从 phploc-ci 开始,一切正常。但是下一个检查是pdepend我得到错误 Cannot run program "pdepend": error=2, No such file or directory。

如您所见,它找不到路径或其他东西。我会说路径是正确的,因为它可以找到所有其他文件夹。

我一直在搜索这个网站和谷歌 2 小时我似乎无法找到解决方案。各位有什么建议吗。

0 投票
1 回答
129 浏览

composer-php - PDepend 命令在 CakePHP 中不起作用

我正在使用 CakePHP 2.3。我已经通过composer.json安装了PDepend 。以下是我的 composer.json 文件的代码片段

它正在安装到 CakePHP 文件夹的 Vendor 文件夹中:app/Vendor/pdepend

如果我尝试在我的项目中执行 pdepend 命令:pdepend --version那么它会说:pdepend: command not found

请帮我解决这个问题