[![][1]][2]
Test-driven development (TDD) — практика, известная уже довольно давно. Разработка через короткие циклы «прежде всего пишем юнит-тест, затем код, потом проводим рефакторинг, повторяем» в ряде компаний принята в качестве стандарта. Но обязательно ли команда, достигшая хорошей степени зрелости процесса разработки, должна принимать TDD? Как и для большинства других практик Extreme Programming, [споры по поводу TDD][3] до сих пор не стихают. Оправдываются ли первоначальные затраты на обучение и внедрение TDD? Даёт ли TDD ощутимый выигрыш? Можно ли этот выигрыш измерить? Нет ли случаев, когда TDD проекту вредит? А есть ли ситуации, когда без TDD решить задачу просто невозможно?
Об этом мы поговорили с разработчиками-экспертами Андреем Солнцевым [asolntsev][4] (разработчик из таллинской компании Codeborne, который практикует Extreme Programming и придерживается TDD) и Тагиром Валеевым [lany][5] (разработчик в JetBrains, также разрабатывает опенсорсную библиотеку StreamEx и анализатор байткода Java HuntBugs; убежден, что TDD — бесполезная практика). Интересно? Добро пожаловать под кат!
[Читать дальше →][6]
[1]:
https://habrastorage.org/files/ffc/54e/1cd/ffc54e1cdd65426cba561d038de7c58c.jpeg
[2]:
https://habrahabr.ru/company/jugru/blog/313514/
[3]:
https://habrahabr.ru/company/jugru/blog/308528/
[4]:
https://habrahabr.ru/users/asolntsev/
[5]:
https://habrahabr.ru/users/lany/
[6]:
https://habrahabr.ru/post/313514/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut