[TDD] посоветуйте по TDD

texrdcom

Новичок
посоветуйте по TDD

Скажите кто применяет на практике TDD - какая выгода
от данной методики - потятно что выгоды очевидны в любых текстах про tdd - рефакторинг кода, надежнный код и так далее....
Но не получаеться так чтоб добиться чистоты кода мы пишем больше кода в конечном случаи -- те жи тесты ?
И еще вопрос какую систему для тестирования вы приминяете имееться виду типа: simletest или другую ?
Или возможно вообще не приминяете подобные системы - есть ли смысл применять их или писать проверочные функции лутче саммому ?
p/s
Я не выступаю против TDD так как у меня нет опыта в данном направлении просто хочу узнать мнения тех кто применять такию методику для написания прог на php.
 

zerkms

TDD infected
Команда форума
Ответы на все твои вопросы есть на phpclub.ru/faq + phpinside №№13, 14, 16 + в какой нибудь книжке по ТДД ( Addison.Wesley.Test-driven.development.by.Kent.Beck.(RUS).pdf )

про изобретение новых систем - а зачем ещё один велосипед с квадратными колёсами, если уже есть вполне приличные, и даже с сиденьями (simpletest)

Но не получаеться так чтоб добиться чистоты кода мы пишем больше кода в конечном случаи -- те жи тесты ?
все эти "бОльшие объёмы" кода с лихвой окупаются
 

ForJest

- свежая кровь
texrdcom
Я пользую SimpleTest.
Первое и одно из важных преимуществ которое я получаю при использовании тестов конкретно в PHP - это "прозвонка" классов, методов. То что делает в компилируемых языках компилятор - проверка существования идентификаторов (переменных, классов, методов и т.п.).
Даже тривиальнейший тест а-ля
- Создать экземпляр класса
- Проверить что он корректно получает данные от сеттера или из конструктора
Применённый к большей части классов в системе позволяет получить указанные выше выгоды.
--------------
Как начинающему я советую почитать
http://phpclub.ru/detail/magazine/2005/12/
"Ошибки начинающих TDD-практиков" от светачей нашега русского TDD.
 

whirlwind

TDD infected, paranoid
TDD помогает писать действительно многократно-используемый код. Больше кода - это да. Здесь нужен компромисс. Шкура может быть в виде соплей, но когда крепкое ядро, латать шкуру - не проблема. Но основные, наиболее часто используемые элементы проекта должны всегда снабжаться тестами.

+ разрабатывая тест одновременно с классом находишь огромное количество тонкостей и частных случаев, которые даже и не подумал бы обрабатывать, потому что не подозревал о их существовании.

+ тесты являются документацией (не о качестве речь, а о наличии)

Про велосипед хорошо сказано. TDD не должно стать еще одним геммороем, по этому велосипеды здесь ни к чему. Я пользуюсь simpletest. Это первое что попалось :)
 
Сверху