PHPMD, статический анализ php mess detector

แชร์
ฝัง
  • เผยแพร่เมื่อ 31 ม.ค. 2025

ความคิดเห็น • 9

  • @rsds-vn9zd
    @rsds-vn9zd 4 ปีที่แล้ว +3

    Спасибо за очередную годноту. Ждем финальное видео из серии про стат анализ с сравнением и обзором всех пройденных инструментов. Опять же радует количество полезного содержания, но не радует количество подписчиков, за подобное это очень мало( очень хотелось бы видеть продолжения подобного контента

  • @pabg6661
    @pabg6661 4 ปีที่แล้ว

    Круто, установил на ларавеле проверить, тоже оказывается у него нашел достаточно предупреждений )

  • @brothers_karamazovs
    @brothers_karamazovs 4 ปีที่แล้ว +3

    Спасибо за обзор! Еще было бы интересно услышать больше оценочных суждений. Уже столько средств для статического анализа, что глаза разбегаются)
    С другой стороны, может быть, стоит использовать все эти инструменты сразу?

    • @kuvshinovee
      @kuvshinovee  4 ปีที่แล้ว +6

      в репозитории как раз пример того что применяются сразу все инструменты анализа о которых я делал видео, одна из целей сделать из этого репозитория пример как можно разрабатывать пакет (скелет который можно брать за основу своего проекта)
      Если посмотреть лог сборки travis-ci.com/github/smpl/example/jobs/369277748 тот тут видно какие команды выполняются и результат их работы:
      phpcs
      phpstan
      phpinsights
      psalm
      phpmd
      и этот список при желание можно продолжить еще инструментами по своему вкусу (phpunit, infection это в планах чуть позже сделать), также в анализе видно сколько выполняется та или иная команда.
      В одном из следующих видео я планирую сделать просто "статический анализ" в котором рассказать что это, зачем и где я его применяю, как бы я советовал его применять подписчикам и тд.

    • @Андекуг
      @Андекуг 4 ปีที่แล้ว +1

      @@kuvshinovee да. было бы очень полезно. Т.к. вот недавно наткнулся на eslint и стало интересно может есть стандарт де-факто как в js в php, ну по крайней мере чтобы успокоить внутренний вопрос а тот ли статический анализатор я выбрал.

  • @estupidoParapente
    @estupidoParapente 4 ปีที่แล้ว

    Спасибо за понятное видео! А не знаете каким средством проверить код на предмет вызова несуществующих методов / свойств класса?
    Я использую VS Code.
    При этом ни PHP_codeSniffer ни Mess Detector не замечают что происходит обращение к $instance->property1 когда property1 даже не определена в классе.

    • @kuvshinovee
      @kuvshinovee  4 ปีที่แล้ว +1

      я взял phpstan (видео по нему есть на канале вроде)
      в этом проекте сделал отдельный класс Magic где внутри создал экземпляр Hello и попробовал ему проставить свойство которое никак не определено.
      после запустил phpstan и он мне сообщил
      ```
      $ ./vendor/bin/phpstan analyse
      Note: Using configuration file /home/smpl/project/example/phpstan.neon.dist.
      2/2 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
      ------ ------------------------------------------------------------------
      Line Magic.php
      ------ ------------------------------------------------------------------
      12 Access to an undefined property Kuvshinov\Example\Hello::$magic.
      ------ ------------------------------------------------------------------
      [ERROR] Found 1 error
      ```

    • @kuvshinovee
      @kuvshinovee  4 ปีที่แล้ว +1

      также psalm еще обнаружает
      ```
      $ ./vendor/bin/psalm
      Scanning files...
      Analyzing files...
      ░E
      ERROR: UndefinedPropertyAssignment - src/Magic.php:12:9 - Instance property Kuvshinov\Example\Hello::$magic is not defined (see psalm.dev/038)
      $hello->magic = 123;
      ------------------------------
      1 errors found
      ------------------------------
      Checks took 0.34 seconds and used 67.735MB of memory
      Psalm was able to infer types for 100% of the codebase
      ```

    • @estupidoParapente
      @estupidoParapente 4 ปีที่แล้ว

      @@kuvshinovee спасибище!