Код пишется так, чтобы проходились определенные тесты. Это полный маразм, что очевидно любому здравомыслящему человеку. Я же говорю, что не только TDD зло, но даже и юнит-тесты — крайне сомнительная практика.
«Не обновлять» — кто-то заметит несоответствие и вырежет/поправит комментарий.
заметит только тогда, когда полезет туда, а до этого оно будет гнить.
а тесты упадут сразу. почувствуй разницу.
A потом ты еще потратишь кучу времени на то, чтобы понять почему отличаются комменты и код. Может коммент правильный, а код с ошибкой. или код правильный, а обновить коммент как обычно забыли?
Ну я ему скажу: «иди отсюда, своим проектом занимайся, а этим бардаком рулю я!»
она неприятная, потому что у тебя нет тестов и ты боишься менять код
Боится менять код тот, кто его не понимает. Неприятность рефакторинга для меня заключается в том, что вроде человекочасов положили немало, а как бы ничерта и не сделано.
заметит только тогда, когда полезет туда, а до этого оно будет гнить
Гниёт — значит работает.
а тесты упадут сразу. почувствуй разницу
Вот именно: вместо того, чтобы сосредоточиться на продукте, test-driven-макака пойдет переделывать свои драгоценные тесты, обосрется на ровном месте раз пять, угробит на порядки больше времени (в том числе и на бесполезные mock'и) и в конце-концов выдаст результат даже хуже, чем если бы это все было сделано грамотным разработчиком, который знает, что код должен делать, и понимает, как код работает.
У меня нет особых проблем с возвращением к коду даже спустя несколько месяцев, потому что в комментариях написано, что ожидается от каждой функции, а нетривиальные и неочевидные моменты также откомментированы по месту. Вроде: «тут мы делаем так-то, потому что там-то ожидается то-то».