Егор Бугаенко - TDD вверх ногами
ฝัง
- เผยแพร่เมื่อ 7 ก.พ. 2018
- Ближайшая конференция - DotNext 2024, 10 - 11 сентября, Москва + online
Подробности и билеты: jrg.su/x2GKnA
- -
Разработка через тестирование (a.k.a. TDD) была заново открыта Кентом Беком и подробно разобрана в его знаменитой книге в 2002. В 2014 году Дэвид Хайнемайер Ханссон (создатель Ruby on Rails) сказал, что TDD не работает и только вредит архитектуре. Роберт Мартин (создатель SOLID-принципов) не согласился с этим и объяснил, что TDD может не срабатывать лишь в определённых случаях. Через какое-то время он даже сравнил важность TDD с важностью мытья рук в медицине и добавил, что «его не удивит, если однажды TDD приобретёт силу закона». Два года спустя, а для нас - пару месяцев назад, он написал об этом ещё раз, и ещё, и ещё. Это горячая тема для обсуждения. У нас, конечно, есть своё мнение по этому поводу. - วิทยาศาสตร์และเทคโนโลยี
Первые 4 с половиной минуты звук ужасный, потом будет все ок. Держитесь :)
Сенкс!)
I know im asking randomly but does any of you know a method to log back into an instagram account??
I stupidly lost my password. I would appreciate any tips you can give me
@Grayson Fernando Instablaster :)
Выручил
На самом интересном вопросе прервалось.
Отличный доклад!
В реальном мире, секс до свадьбы олицетворяет именно что подход "test first", так что, парень с Руби как то не в ладах с абстракцией. Или со свадьбами :)
логично...делаем пробы!!!
а потом женится)
Годно
Интересные мысли.
Я вывел для себя схему что разработка интеграции 2х backend приложений без интеграционных тестов дороже чем с тестами
Требования приходят медлено, разработка ведется несколько месяцев...может быть такое что люди меняются. С тестами остается инфа о договореностях с клиентом
Добавлю своих 5 копеек на тему деконструкции TDD: th-cam.com/video/sLWURdgEcrI/w-d-xo.html
Если ты "воин" осознавший свою смертность, и сетка для тебя - это признание своей слабости, то надо без сетки.
Но если ты рядовой "солдат срочник" и таких составами прибывает раз в полгода, то сетка обретает совсем другой смысл.
У нас в корпорациях, к сожалению, однозначно второй вариант, и без сетки. Или сетка покрывает на 80%. Дело даже не в оставшихся 20%, дело в стальных болтах и трубах, которые никто не задумывается даже покрывать. И как правило 1/3 "разбитых черепов" от удара об эти трубы, а не о землю покрытую на 80%
Блин звук отвратительный
Norm.
... последний вопрашающий такой смешной )) наивен как 16летня леди, наверно недавно попал в "КРОВАВЫЙ ЫНТЫРПРАИЗ" ))
Или ещё даже не попал, судя по вопросу
Все четко, по полочкам. Спасибо!
Подход Егора определяет тесты, как средство фиксации обнаруженных багов, но не учитывает один из важнейших смыслов встроенного тестирования. Этот принцип - *фиксация ожидаемого функционала* .
Т.е. ТЗ от бизнеса предполагает ожидаемый функционал, требуемое поведение системы. В рамках метода это возвращаемый результат или варианты результатов, вызов промежуточных методов с определенными промеж. аргументами, исключения и т.д... Именно это и должно быть подтверждено параллельными тестами при разработке, а в процессе дальнейшей разработки, - эти же параллельные тесты подтверждают устойчивость заложенного функционала, т.е. стабильность под натиском новых особенностей.
+1
Покрывать тестами обнаруженные пользователем баги - это как мёртвому припарка.
Тесты как раз пишутся для того чтобы уберечь нервы пользователя и ловить баги первыми. Это такая себе первая линия обороны.
Неординарный доклад, спасибо!
отличный доклад. хороший пример того когда доклад на самом деле порожден практикой
капля здравого смысла) спасибо за доклад
Да. Пару капель было, пока он говорил о гимнастах.
Стоило брать код из ответов со stackoverflow, а не с вопросов :-)
А если серьезно, то стоит выступать только с теми вещами, в которыми сам пользуешься!
Думаю, что это был эффект шоу. Уверен, что он в курсе, как писать компилируемый код на C#, но он же "джавист на конфе дотнетчиков"
Редкая фигня. Сам себе перечит. Сначала говорит код фёрст - 0 тестов. Есть баги - пишут тесты, нет багов - нет тестов. А потом сказал, что у них circle ci и он не позволяет комитить меньше 80%. Что за бред? Как достигнуть 80%, если багов мало...
Проект может жить несколько лет, возможно он имеет ввиду сначала поставить 0%
Потом, через пару месяцев увеличить до 20% и так до 80 дойти к релизу...
Простых ответов нет :)
Когда коммитится новая фича, этот порог снижается.
Вы не глупые ребята. Докладчик обычный человек, рассказывает про свой опыт и делится своими мыслями(лучшими мыслями на тот момент). Надо брать от этого огонь, не принимать все как догму
Огонь - умение видеть мир, способ думать по другому