Как стать автором
Обновить
4
0
Негрей Сергей @snegprog

Пользователь

Отправить сообщение

Статический анализ. PHPStan

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров7.6K

Цель статьи - помочь разработчикам которые много слышали про статический анализ, но пока что так и не поняли что это такое и с чем его едят.

Статический анализ

Анализ программного обеспечения, производимый без реального выполнения исследуемых программ, процесс выявления ошибок и недочетов в исходном коде программ. Список языков для которых существуют статические анализаторы кода достаточно велик - Си, Си++, C#, Java, Ada, Fortran, Perl, Ruby и т.д.  Компиляторы различных языков программирования во время своей работы так же запускают статические анализаторы (как правило усеченные версии) которые находят ошибки. Т.о. использование статичского анализа, в поисках ошибок, приравнивает (а может даже и превосходит, все зависит от используемого анализатора и стиле написания приложения) PHP к компилируемым языкам программирования.

Сообщество PHP прикладывает значительные усилия в сторону развития статического анализа, так типы mixed и never были добавлены для лучшего анализа программами статического анализа.

Необходимость статического анализа

Статический анализ позволяет найти уйму различных проблем в коде, начиная от неправильного использования конструкций языка, заканчивая опечатками.  При проведении code review позволяет сосредоточиться на просмотре реализации логики программы, а не на поиске синтаксических ошибок, опечаток, ошибок в данных, мертвый код и т.п.

Читать далее
Всего голосов 8: ↑6 и ↓2+4
Комментарии8

Качество кода, инструменты в помощь

Время на прочтение2 мин
Количество просмотров4.9K
Добрый день, уважаемые хабровчане!

В последнее время в сообществе PHP часто слышу обсуждения по поводу code review, решил внести свой вклад, хочу рассказать о возможностях которые предназначены упростить вам жизнь и улучшить качество кода в вашем проекте. Актуально не только для PHP, подобные инструменты, описанным здесь, существуют также и для других языков программирования, например я узнал о таковых когда участвовал в проекте на NodeJS.
Читать дальше →
Всего голосов 19: ↑8 и ↓11-1
Комментарии26

Абстрактный тип данных. Часть 2: Управление данными

Время на прочтение5 мин
Количество просмотров2.2K

В первой части описал чем руководствоваться при определении Типа Данных (далее ТД). В данной части хочу рассказать что такое Абстрактный Тип Данных (далее АТД), как это помогает решать логически сложные задачи (что подразумевается под логически сложными задачами смотрите первую статью) и какие мы получаем преимущества.

Читать дальше →
Всего голосов 2: ↑1 и ↓10
Комментарии1

Абстрактный тип данных. Часть 1: Данные (Тип Данных)

Время на прочтение9 мин
Количество просмотров14K
imageВ данном цикле статье хочу поделиться приемом, который помогает мне решать весьма и весьма сложные логические задачи. Под сложной логической задачей подразумевается задача с большим количеством исходных параметров которые влияют на итоговый результат и так же могут влиять друг на друга, где сложно организовать корректное взаимодействие этих параметров и просто можно запутаться как в них, так и в логике организации кода. Начать хочу с данных, а управление данными будет во второй части.

Читать дальше →
Всего голосов 4: ↑1 и ↓30
Комментарии70

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность