質問

誰もがPHP Magento 2プログラマーを知らせるコードクリーニング/分析ツールを知っていますか?

次のクラス

を見るためのツールです。
<?php
namespace Namespace\Module\Controller\V1;
class MyClass extends \Magento\Framework\App\Action\Action
{
    protected $resultJsonFactory;
    protected $metadataService;
    protected $urlModel;

    public function __construct(
        \Magento\Framework\App\Action\Context $context,
        \Magento\Framework\Controller\Result\JsonFactory $resultJsonFactory,
        \Namespace\Module\Helper\Api $apiHelper,
    ) {
        parent::__construct($context);
        $this->searchCriteriaBuilder      = $searchCriteriaBuilder;
        $this->metadataService            = $metadataServiceInterface;
    }

    public function execute()
    {
        $result = $this->resultJsonFactory->create();
        return $result->setData($items);
    }  
}
.

そして私達に

を教えてください

  1. このクラスは、$urlModelプロパティ

  2. を使用しません。

  3. クラスは、コンストラクタ

  4. に割り当てるときに$metadataServiceプロパティのみを使用します。

    マゼントプログラミングの量を「このクラスを試してみると、このクラスはこのクラスではありません」と挙げて、私は依存関係を持つ巨大なコンストラクターの後ろに残すと思っています。これをきれいにするのに役立つツールを持つことは素晴らしいでしょう。

役に立ちましたか?

解決

urlModelフィールドについては、privateとMess Detectorに設定されたその可視性が phpstorm でphpstorm で構成されています。それ以外の場合は、このプロパティが子クラスで使用され、Mess Detectorがそれをチェックしないことがわかります。

dev/tests/static/testsuite/Magento/Test/Php/_files/phpmd/ruleset.xmlを持つケースは、初期化され、したがって USED と見なされるため、カバーされていません。「読み取り」の使い方がない場合は、「読み取り」の使用法がない場合は、クラス内のすべてのフィールドをすばやく確認することができます。その場合は安全に削除できます。

一般的なアドバイスは、Magento Static Testsで使用される同じ設定ファイルを使用してPHP MDとPHP CS(コードスニファ)を設定することです。。コードスニファーはここにあるmetadataService

にあります。

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top