問題タブ [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.
php - PHP Depend における「パッケージ」とは何ですか?
http://pdepend.org/documentation/handbook/reports/overview-pyramid.htmlには、次のように書かれています。
NOP - Number Of Packages メトリックは、分析されたソフトウェア システム内のパッケージをカウントします。
「パッケージ」はどのように決定されますか? @package
phpdoc属性値だけですか?
php - PHP依存コードメトリクス分析
PHP Depend(http://pdepend.org)を使用して2つのPHPプロジェクトを比較しようとしています。1つは1年前に学生のグループによって作成されたページベースのPHPアプリケーションで、もう1つは私が過去1年間取り組んできた私のものです。目的は、プロジェクトのリファクタリング(MVCアーキテクチャと、オブジェクト指向の原則をより適切に適用するための多くのリファクタリングの導入)が、とりわけ複雑性と結合性の低下につながったことを検証するのに役立つ可能性のあるいくつかの定量的統計を提供することです。
私が直面している問題は、古いプロジェクトを分析するときに、PHP依存が手続き型プログラミングスタイルで記述されたファイルを無視することです。クラスが定義されているファイルのみを取得します。以前の学生がなぜこのハイブリッドスタイルのコードを書くことを選んだのかはわかりませんが、彼らはそうしました。
これはPHPDependの動作方法ですか、それともすべてのファイルを分析するために使用できる設定がありますか。このサイトはほとんど役に立ちません。PHP Dependが定義されたクラスとメソッドを持つファイルしか分析できない場合、プロジェクトを検証するためのコードメトリックを生成するにはどうすればよいですか?
charts - Jenkins はダッシュボードにグラフを表示します
重複の可能性:
Jenkins - チャートをジョブ インターフェイスに追加する
最初の質問は、pdepend チャートを Jenkins のダッシュボード (プロジェクトのタイトルの下) に追加するにはどうすればよいですか?
そして 2 番目の質問 (最初の質問だけでは投稿を送信できませんでした - 十分なテキストがありません:P) - phpmd の使用を開始するにはどうすればよいですか? つまり、まあ..私は CLI に入力します: phpmd フォルダー/テキストの名前付け。そして、それは何をしますか?レポート ファイルを作成し、指定された場所に組み込まれている命名規則を確認する必要がありますか? ドキュメントでそれについて何も見つけることができませんでした。
php - pdepend、利用可能なリリースはありません
Centos 6.3 サーバーにPDependをインストールしようとしています。何らかの理由で、利用可能なパッケージ/リリースがないというエラーが常に表示されます。
私がすでに実行したこと:
- ナシのアップグレード
- pear キャッシュのクリア
- pear channel-discover pear.pdepend.org
- pear install pdepend
- pear install pdepend/PHP_Depend-beta
- pear リモート リスト -c pdepend
それらのどれも私をどの方向にも向けていません。パッケージ「pear.pdepend.org/PHP_Depend」に利用可能なリリースがないことを除いて、エラーは発生しません
最も奇妙な部分は、Ubuntu サーバーに pdepend をインストールすることに成功したことです。その場合、pdepend のインストールに必要なのは最初の 3 つのステップだけです。
pdepend をインストールする方法を教えてください。
php - PHP 依存 (pdepend) は @package を無視し、代わりに名前空間をパッケージとして使用します
いくつかの PHP フレームワークのメトリクスを PHP Depend と比較しようとしたところ、迷惑でおそらく意図しない動作に遭遇しました。
注釈は@package
無視され、代わりに名前空間がパッケージとして扱われます。個別のパッケージとして意図されていないサブ名前空間が使用されることが多いため、これは問題です (つまりSomePackage\Exception
)
クラスファイルの例
レポートの例
ここで私の質問は次のとおりです。これの理由は何ですか。どうすれば修正できますか?
sonarqube - PHP_Depend と PHP_PMD の使用エラー
PHP Depend と PMD の使用に問題があります。私が使用する場合:
これは結果です:
解析中
................................................................... .... 1260
.........PHP キャッチ可能な致命的なエラー: 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 スタック トレース: 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 スタック トレース:
何か提案はありますか?ありがとう。
php - 三項演算子が if/else よりも複雑なのはなぜですか?
ライブラリを pdepend でテストしていますが、一部の関数は非常に複雑です。三項演算子に由来することに気づきましたが、その理由はわかりません。
次のような関数を使用します。
pdepend は 5 の複雑さ (npath) を返します。なぜ 5 つの異なるパスがあるのですか? 2しか見えない。
次のような関数を使用します。
npath の複雑さは 2 です。これは理にかなっています。
編集:わかりました、私は他の質問を見ました: PMD - 三項演算子で非常に高いNPathの複雑さ(?
それはアルゴリズムの一部です..それでも、関数には2つの可能なパスしかありません。アルゴリズムは私には意味がありません。ノードの数はパスの数を反映しておらず、任意に値に 2 を追加します。