Из вопросов на форуме сайта www.phpworld.ru:
> Хотелось узнать, применяете ли вы на практике - при разработке приложений TDD -?
> если да, то с какой системой тестирования, если нет, то, как вы относитесь к TDD?
> И еще вопросик о применении ООП в разработке на php, в частности, вы применяете или нет?
Поскольку вопрос был адресован лично мне, отчечаю, здесь и там:
Спасибо за очень интересный вопрос. Ответы таковы. Что касается TDD (Test-Driven Development), то лично я не использую этот подход на практике, хотя знаком с ним, в частности с PhpUnit.
В самом начале мне показалось, что в TDD очень много надуманного, но вскоре я поменял свое мнение. TDD – это великолепный инструмент контроля качества. Однако, поскольку TDD однозначно приводит к росту объема кода, что, впрочем, не всегда является отрицательной характеристикой приложения, и в большинстве случаев значительно (!) увеличивает время работы по проекту – использование TDD всегда и везде мне кажется неоправданной роскошью. Все зависит от рамок проекта. Для того чтобы написать простенькую гостевую книгу для рядового сайта, применение TDD будет являться неоправданной роскошью. А вот если работа ведется над большим проектом, то все как раз наоборот – TDD спасет много времени, убережет от массы багов.
А кроме этого, Вы уверены, что настолько хорошо владеете TDD, чтобы не убить на него массу времени впустую или не ограничены по времени и бюджету на разработку (очень частое явление)? Если уверены – используйте TDD и вы получите массу преимуществ.
А на вопрос про ООП (объектно-ориентированное программирование) отвечу однозначно – использовать классы выгодно практически всегда, для приложений разного уровня от простых до самых сложных, где без ООП вообще что либо трубно сделать. А уж особенно в PHP5, где почти все основные улучшения языка были направлены на развитие ООП.
И дело не только в том, что ООП позволяет с легкостью использовать однажды написанный код повторно или с минимальными изменениями. А в том, что классы позволяют писать максимально гибкий и надежный код, что даст вам возможность спасть спокойно и без TDD.
Лично я без классов уже года 2 как ничего на PHP не пишу.
Леонид, а можно подробнее про TDD. Или ссылочку. В яндексе выдает полную чушь.
Ответить
03.02.2006
Да Яндекс и будет находить всякий мусор, тема ведь пока новая не только для нас.
Советую разбираться с TDD сразу на примерах - вот ссылка на бесплатную книгу по пакету TDD PHPUnit - http://www.phpunit.de/pocket_guide/index.en.php. Читайте в онлайне или скачайте книгу в CHM формате.
Удачи, потом поделитесь впечатлениями.
Ответить
03.02.2006