Как раз таки в этом случае вы бы сказали TDD огромное «Спасибо!». Не знаете, как работает модуль? Открыли тесты — посмотрели. При этом, вы будете точно знать, где нужно сделать правку, чтобы заработало так, как вам надо, и в течение нескольких секунд (прогон тестов) убедитесь, что оно работает правильно.
Согласен с автором поста. Сам комментирую только тогда, когда код в силу некоторых причин не очевиден (используется какой-нибудь хак, например). В остальном — смотреть и читать здесь, очень полезно 2013.happydev.ru/report/10
Это уже уход в сторону и кривая логика с вашей стороны.
Рефакторинг средствами IDE не требует какой-либо подготовки. Тесты же требуют времени для их написания. Быстро выполнив рефакторинг, я ничего не потеряю, т.к. просто приступлю к другой задаче. Написав тесты бесплатно, я потеряю стоимость потраченного на них времени. Улавливаете, о чем я? Я стараюсь делать работу быстро, но я не буду делать ее бесплатно.
Я уже писал причину: У нас, якобы, нет времени на написание тестов, заказчик не готов оплачивать это время. Зато со временем на прогон этих самых тестов вручную — все ок. Это поразительное желание переплачивать деньги и тратить время, иного объяснения нет.
Как раз таки TDD при меняющихся требованиях и/или переработке архитектуры — очень хорошее подспорье. Где гарантия, что при переписывании части кода другая часть останется рабочей? Вот в тестах она как раз и есть. Не 100%, согласен, но есть.
Конечно, когда разработка представляет из себя последовательность экспериментов (написали, понравилось — оставили, не понравилось — выкинули), TDD будет лишним грузом.
В конце концов, все разработчики делятся на два типа: те кто не любит писать тесты, и те кто пи… врут.
Да нет, тут, скорее, как с бэкапами. Есть те, кто не любит писать тесты, и есть те, кто уже любит.
С какого-то момента я превратился в Спаси_Мой_Проект парня. Приходишь на проект, а там ад. Разработка наполовину состоит из борьбы с другими разработчиками за работоспособность своего участка кода. Проект объемный, перетыкивать каждый его кусок долго и утомительно. Дать гарантии, что при изменении функции что-то не посыпется не может дать никто, а так оно обычно и бывает. И вот в какой-то момент я говорю «хватит, парни, начинаем писать тесты». Если кто-то пушнул что-то в репозиторий, не прогнав предварительно тесты, сразу получает по рукам.
А сейчас я спасаю очередной проект, но «на тесты у нас времени нет». Что я делаю: пишу кусок кода, удаляю старые данные, завожу новые, чистые, провожу ряд действий, проверяю результаты, копаясь в БД и пересчитывая ручками корректность полученных данных. Т.е. делаю все то, что сделали бы тесты, но руками. Скорость проверки работоспособности упала более чем в 100 раз. Но на тесты у нас все еще «нет времени».
Не только пинг, но и скорость вообще. Собрался переезжать к ним с хецнера, соблазнился на SSD, но при тестах сильно расстроила скорость сети в AMS1. Сегодня попробовал AMS2 и возрадовался.
Рефакторинг средствами IDE не требует какой-либо подготовки. Тесты же требуют времени для их написания. Быстро выполнив рефакторинг, я ничего не потеряю, т.к. просто приступлю к другой задаче. Написав тесты бесплатно, я потеряю стоимость потраченного на них времени. Улавливаете, о чем я? Я стараюсь делать работу быстро, но я не буду делать ее бесплатно.
Конечно, когда разработка представляет из себя последовательность экспериментов (написали, понравилось — оставили, не понравилось — выкинули), TDD будет лишним грузом.
Да нет, тут, скорее, как с бэкапами. Есть те, кто не любит писать тесты, и есть те, кто уже любит.
С какого-то момента я превратился в Спаси_Мой_Проект парня. Приходишь на проект, а там ад. Разработка наполовину состоит из борьбы с другими разработчиками за работоспособность своего участка кода. Проект объемный, перетыкивать каждый его кусок долго и утомительно. Дать гарантии, что при изменении функции что-то не посыпется не может дать никто, а так оно обычно и бывает. И вот в какой-то момент я говорю «хватит, парни, начинаем писать тесты». Если кто-то пушнул что-то в репозиторий, не прогнав предварительно тесты, сразу получает по рукам.
А сейчас я спасаю очередной проект, но «на тесты у нас времени нет». Что я делаю: пишу кусок кода, удаляю старые данные, завожу новые, чистые, провожу ряд действий, проверяю результаты, копаясь в БД и пересчитывая ручками корректность полученных данных. Т.е. делаю все то, что сделали бы тесты, но руками. Скорость проверки работоспособности упала более чем в 100 раз. Но на тесты у нас все еще «нет времени».