Проверка кода PHP при рефакторинге - PullRequest
2 голосов
/ 08 декабря 2009

Как разработчик, который привык к статической типизации, я обычно позволяю компилятору сообщать мне, если код верен, конечно, изъяны логики. Но при рефакторинге PHP мне ОЧЕНЬ сложно понять, что мой код верен.

Кажется, всегда есть какая-то давняя ссылка на какой-то метод или член, который не работает и не появляется до времени выполнения. Даже при использовании ограниченной поддержки рефакторинга в Zend Studio все как-то портится.

Из-за динамической природы самого языка я понимаю, что это сложная проблема. Но есть ли какие-либо инструменты для статической проверки кода PHP, чтобы я знал, что все в порядке перед выполнением? Я больше не хочу видеть сообщения об ошибках «Неопределенное свойство».

Ответы [ 3 ]

5 голосов
/ 08 декабря 2009

Написание тестов для вашего кода (http://www.phpunit.de/),, настройка сервера непрерывной интеграции, запуск тестов пользовательского интерфейса (http://pear.php.net/package/Testing_Selenium/).). При достаточном количестве тестов вы обнаружите свои проблемы сразу после фиксации неверного кода. Просто сохраните высокий уровень покрытия тестовым кодом.

Это один из основных пунктов модульных тестов - вы можете реорганизовать свой код, фактически не нарушая его, потому что вы проверяете все функциональные возможности после каждого изменения.

2 голосов
/ 08 декабря 2009

Я бы порекомендовал решение @ viraptor для предотвращения текущих проблем.

Вот некоторая информация о статическом анализе и рефакторинге в PHP.
Статический анализ

http://strategoxt.org/PHP/PhpSat

Рефакторинг PHP

Инструменты для рефакторинга PHP-кода

0 голосов
/ 08 декабря 2009

юнит-тесты. я автор Testilence

...