Do not use preg_match() if you only want to check if one string is contained in another string. Use strpos() or strstr() instead as they will be faster.
Во-первых, я искренне рад, что есть люди, которые включают статический анализ в свои курсы — меня текущие тенденции в образовании, в основном, печалят, но тут прямо хорошие новости.
Про проблему понял. Никак, к сожалению, приходится искать альтернативы.
Не в тему, но мне кажется, что статический анализ может хорошо плказать себя в курсовых и дипломных работах — для студентов будет очень наглядно.
Но корпоративный сегмент (который хорошо платит) не любит одавать код третьей стороне, поэтому вариант с SaaS для статического анализа просто не взлетит.
Появятся, даже не сомневайтесь: сложность алгоритмов и лигики в софте постоянно растёт и, чтобы не стагнировать, индустрия делает средства разработки и анализа всё интелектуальнее.
Например,
FindBugs (Java) уже умеет находить проблемы с многопоточностью. Этот анализатор (PHP) умеет находить проблемы с шаблонами проектирования и памятью.
Можно вспомнить ещё ReSharper Inspections.
А вот как людей будут обучать и готовить к подобному окружению в разработке ПО, я пока не представляю.
Я по вот этим пунктам сужу:
Остальное (кроме Control flow) — совсем базовые проверки.
Думаю, что надо добавить ремарку про этот нюанс в текст анализатора.
Вот ещё один пруф, что strpos будет бытрее.
Но [0-9] гораздо реже используется, поэтому, выбор — решение команды, зависящие от конкретного проекта.
Посмотрите что из Code Style вам подходит, остальные группы можно не трогать — по ним нареканий ещё не было.
Это как раз о таких вещах: запятые, двойные кавычки, вложенные условия.
Как вариант, Settings -> Editor -> Inspections -> PHP -> Php Inspections (EA Extended): просмотрите всё, что Code Style и настройте под ваши реалии.
Php Inspections (EA Extended) для старта можно дополнить Php Metrics — когда этого мало, уже пробовать сонар.
Классика жанра — ставим сонар, не знаем что делать с его отчётами, сносим.
Php Metrics ставится как плагин, сносить будет не жалко.
PS: большое спасибо за ваши статьи, благодаря им повился вот этот анализатор для PHP.
Про проблему понял. Никак, к сожалению, приходится искать альтернативы.
Не в тему, но мне кажется, что статический анализ может хорошо плказать себя в курсовых и дипломных работах — для студентов будет очень наглядно.
Но корпоративный сегмент (который хорошо платит) не любит одавать код третьей стороне, поэтому вариант с SaaS для статического анализа просто не взлетит.
Часть абстракции именно для того, чтобы сложно было напортачить (высокий порог вхождения).
Например,
FindBugs (Java) уже умеет находить проблемы с многопоточностью.
Этот анализатор (PHP) умеет находить проблемы с шаблонами проектирования и памятью.
Можно вспомнить ещё ReSharper Inspections.
А вот как людей будут обучать и готовить к подобному окружению в разработке ПО, я пока не представляю.