XP - практика применения.

ZN

Новичок
Crazy
Время разработки обсуждалось выше. Неделя-две - если заказчику что-то нужно особенное, скажем инфу откуда-нибудь стянуть, аяксовые фишки, ещё какие-то изыски. Пара месяцев - это крупный портал, рассчитанный на большие нагрузки. Рекордное время интеграции - 10 часов (была готова вёрстка, клиент показал на сделанный нами магазин и сказал "хочу такой же!"). ТЗ, фрагмент которого я высылал robocomp занимает 27 страниц, весит 265Кб, в формате Word. Сборка этого проекта заняла по-моему недели две. Разработчик там был один.
 

Crazy

Developer
pachanga, какие уж тут шутки. http://www.agiledata.org/essays/tdd.html

-~{}~ 16.02.06 01:47:

Автор оригинала: ZN
Crazy
Время разработки обсуждалось выше.
Собственно, я ничего не спрашивал о времени разработки. :)

ТЗ, фрагмент которого я высылал robocomp занимает 27 страниц, весит 265Кб, в формате Word. Сборка этого проекта заняла по-моему недели две. Разработчик там был один.
Thanx.
 

Krisha

pain in the neck
>> Пара месяцев - это крупный портал
сколько денег будет стоить такой портал уточните плиз?
 

ZN

Новичок
Krisha
Вы хотите заказать? Да - я дам вам контакты менеджеров. Нет - считайте это коммерческой тайной.
 

confguru

ExAdmin
Команда форума
ТЗ, фрагмент которого я высылал robocomp занимает 27 страниц, весит 265Кб
От 20страниц начинается нормальное ТЗ (с нужной детализацией для программиста)
 

pachanga

Новичок
Автор оригинала: Crazy
pachanga, какие уж тут шутки. http://www.agiledata.org/essays/tdd.html
Стоп, я это знаю прекрасно. Вопрос-то был о другом. Конечно, наличие тестов лучше чем их полное отсутствие, однако вся мощь тестов раскрывается именно при работе в стиле TDD, а в конторе robocomp, выходит, вначале пишется готовая имплементация, и только потом тесты. Вот об этом я и спрашивал.
 

Crazy

Developer
Автор оригинала: pachanga
Стоп, я это знаю прекрасно.
Следующая фраза это опровергает. Она содержит в корне неверный логический вывод.

а в конторе robocomp, выходит, вначале пишется готовая имплементация, и только потом тесты.
Я напомню, что именно сказал robocomp:

Получилось пока что только внедрить постоянную интеграцию и модульное тестирование. Разарботка через тестирование -- не пошла.
Hint: "формулу" я процитировал не случайно.
 

pachanga

Новичок
Crazy

Если не трудно, просвети пожалуйста меня, я вот общаться в стиле "hint" не умею.
 

Crazy

Developer
Моя логическая цепочка:

1. Robocomp сказал, что у него не пошло TDD.
2. Ты из этого сделал вывод, что он не использует TFD.
3. Вывод: ты упускаешь из виду то, что отличает TFD от TDD.

Чем TDD отличается от TFD написано в статье, ссылку на которую я дал.

BTW, по моим наблюдениям разница в усилиях по внедрению TDD и TFD примерно такая же, как между внедрением TFD и Unit test'ов "чтоб были хоть какие-то". Так, в текущем проекте я с TDD обломался.
 

Фантазер

Новичок
Автор оригинала: Crazy
Моя логическая цепочка:

1. Robocomp сказал, что у него не пошло TDD.
2. Ты из этого сделал вывод, что он не использует TFD.
3. Вывод: ты упускаешь из виду то, что отличает TFD от TDD.

Чем TDD отличается от TFD написано в статье, ссылку на которую я дал.
Честно говоря я тоже не очень понял логики. TFD -- согласно статье это и есть тесты до разработки. Плюс говорится, что для того, чтобы было TDD нужен постоянный рефакторинг. Что-то я не почувствовал в постинге, о котором сейчас гворим, что имеются тесты до девелопмента, хотя явно про это не сказано.

Вы считаете, что там говорится что тесты до дизайна есть, но нет рефакторинга -- так что ли?

Додумывать за автора поста кажется не очень правильным.

Автор оригинала: Crazy
BTW, по моим наблюдениям разница в усилиях по внедрению TDD и TFD примерно такая же, как между внедрением TFD и Unit test'ов "чтоб были хоть какие-то". Так, в текущем проекте я с TDD обломался.
Тоже не очень понятно. Разница между TFD и хоть какими-то тестами, в том, что TFD - "СНАЧАЛА напиши тест", разница между TDD и TFD, согласно статье -- в том, что нет Рефакторинга, что странно, потому, как наличие тестов должно обеспечить удобство и применимость рефакторинга, более все время пихать девелопера к рефакторингу, потому, что плохой код более заметен.
 

Crazy

Developer
Фантазер, ты читал статью невнимательно. Обрати внимание, как именно предполагается использовать рефакторинг в переходе от TFD к TDD.

Само по себе слово "рефакторинг" почти такое же обширное, как "программирование".

P.S. Относительно "чувствования в постинге" -- я просто читаю, что написано. У меня нет инсайдерской информации о конторе Robocomp'а.
 

Фантазер

Новичок
Автор оригинала: Crazy
Фантазер, ты читал статью невнимательно.
Если честно, то поглядел на схему вверху и прочитал один абзац.

Ок. Прочту целиком -- спасибо за статью в любом случае.
 

Krisha

pain in the neck
ZN
Да, я потенциально хотел бы заказать портал, который будет готов за два месяца и будет расчитан на высокие нагрузки. Пусть ваши менеджеры свяжуться со мной. Инфа в контактах.
 

pachanga

Новичок
Автор оригинала: Crazy
1. Robocomp сказал, что у него не пошло TDD.
2. Ты из этого сделал вывод, что он не использует TFD.
Я сделал такой вывод, правда? Где? Это вот в этой фразе: "Так вы что же пишете модульные тесты уже после имплементации? "

Но даже если бы я сделал такой вывод - писать тесты после имплементации укладывается по-твоему в TFD?

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

Если уж на то пошло, я для себя не выделяю такой фазы как TFD, при всем уважении к Амблеру. На той схеме в пункт "Make a little change" у меня может входить рефакторинг. Я не понимаю, как можно писать уродливый код, который лишь бы сработал без рефакторинга и называть это TFD.

BTW, по моим наблюдениям разница в усилиях по внедрению TDD и TFD примерно такая же, как между внедрением TFD и Unit test'ов "чтоб были хоть какие-то". Так, в текущем проекте я с TDD обломался.
Честно, я не понял, что ты хотел здесь сказать.
 

Crazy

Developer
Автор оригинала: pachanga
Я сделал такой вывод, правда? Где? Это вот в этой фразе: "Так вы что же пишете модульные тесты уже после имплементации? "
Да.

Я же хотел лишь сказать, что писать тесты на уже готовый функционал(скажем, после того, как была полностью построена система) не совсем правильное занятие, но это лучше чем не писать тестов вообще.
Еще раз. Медленно. Фраза о том, что не использован TDD, не означает, что тесты были написаны после кода. Он означает только то, что TDD не использовался. Она ничего не говорит о том, использовался ли TFD, OOP, равно как и о том, как заваривали кофе при разработке проекта.

Эта фраза говорит только о том, что не использовался TDD. Им не пользовались. То, чем пользовались, TDD не называется.

Возможно, использовали TFD и в полный рост писали все тесты до основного кода. Но TDD не практиковали. Совсем. Его не было. Но тесты могли бы. До кода. Или после. Но мы не можем этого знать. Нам не сказали.

Нам только сказали, что не было TDD. Может быть, они и кофе не пили. Но мы этого не знаем. Нам сказали только о том, что не было TDD.

Уф. Теперь проясняется? :)

Честно, я не понял, что ты хотел здесь сказать.
О... только не это... это я уже не буду объяснять... :)
 

pachanga

Новичок
Crazy

Самое интересное, что я вообще ничего не утверждал, я просто спросил, потом ты вклинился с интересной аббревиатурой TFD и понеслось...
М-да....осталось только послушать robocomp, что же он имел в виду.

-~{}~ 16.02.06 18:09:

И еще, если не секрет, вы практикуете TFD???
 

Crazy

Developer
Автор оригинала: pachanga
Самое интересное, что я вообще ничего не утверждал, я просто спросил
И я тебе намекнул, что твой вопрос довольно странен.

Вот тебе пример столь же странного диалога:

- А мы огурцы не солим.
- А вы что, кофе не пьете?!
 

pachanga

Новичок
Ладно, тебе показалось одно, мне другое - пусть народ рассудит.

Но мне все же интересно, вы что, в самом деле практикуете TFD??? Откуда такая любовь к этой аббревиатуре?
 

Crazy

Developer
pachanga, не в 100% проектов, но практикую. А вот TDD -- практически никогда. Хуже того, мне не удалось внедрить TDD ни в один проект, где я не был единственным участником.

Проблема в том, что каждый из этих трех шагов -- написание unit test'ов, TFD, TDD -- требует ломать стереотипы. Стереотипы ломаются болезненно.
 
Сверху