Как писать код лучше, используя TDD
Сергей Селецкий
@sseletskyy [email protected]
Кто я такой?Сергей Селецкий
@sseletskyy
-50
-25
0
25
50
75
100
2003 2007 2009 2010 2012 2013 2015
ПРОФЕССИОНАЛИЗМ
-50
-25
0
25
50
75
100
2003 2007 2009 2010 2012 2013 2015
ПРОФЕССИОНАЛИЗМ УДОВОЛЬСТВИЕ
PHP NOTESTS
-50
-25
0
25
50
75
100
2003 2007 2009 2010 2012 2013 2015
ПРОФЕССИОНАЛИЗМ УДОВОЛЬСТВИЕ
PHPJAVA TESTS
-50
-25
0
25
50
75
100
2003 2007 2009 2010 2012 2013 2015
ПРОФЕССИОНАЛИЗМ УДОВОЛЬСТВИЕ
RUBY RSPEC
-50
-25
0
25
50
75
100
2003 2007 2009 2010 2012 2013 2015
ПРОФЕССИОНАЛИЗМ УДОВОЛЬСТВИЕ
UI/UXJAVA2 + Flex
WTF!
-50
-25
0
25
50
75
100
2003 2007 2009 2010 2012 2013 2015
ПРОФЕССИОНАЛИЗМ УДОВОЛЬСТВИЕ
PHPJS TDD
-50
-25
0
25
50
75
100
2003 2007 2009 2010 2012 2013 2015
ПРОФЕССИОНАЛИЗМ УДОВОЛЬСТВИЕ
RUBYJS BDDTEACHER
in ITSTEP
-50
-25
0
25
50
75
100
2003 2007 2009 2010 2012 2013 2015
ПРОФЕССИОНАЛИЗМ УДОВОЛЬСТВИЕ
Всё начинается с блок-схемы
Как разозлить разработчика?
diagram -> code
Мышление разработчика - вещь нетривиальная :)
КОД пишется 1 разизменяется МНОГО раз
Что такое командная разработка?
Что такое командная разработка?
ХАОС vs ПOРЯДOK
Что такое командная разработка?
ХАОС vs ПOРЯДOKHOTFIXES vs REFACTORING
Что такое командная разработка?
ХАОС vs ПOРЯДOKTRACING vs MONITORING
vs
TDD - этоТесты покрываем кодом!
TEST DRIVEN DESIGN
TEST DRIVEN DESIGN
МЕТОДОЛОГИЯ ТЕСТИРОВАНИЯ?
TEST DRIVEN DESIGN
МЕТОДОЛОГИЯ ТЕСТИРОВАНИЯ ПРОЕКТИРОВАНИЯ
+ test => ?bad code
+ test => same bad codebad code
+ test => same bad codebad code
test + code =>___________
+ test => same bad codebad code
test + code => same bad code
+ test => same bad codebad code
test + code => same bad code but less bugs
ПОДВЕДЁМ ИТОГИ
TDD - это не про тесты вообще
ПОДВЕДЁМ ИТОГИ
TDD - это не про тесты вообщеЭТО СПОСОБ СДЕЛАТЬ РЕЛИЗ почти ВОВРЕМЯ
ПОДВЕДЁМ ИТОГИ TDD - пошаговая инструкция писать кодошибка в тесте подскажет следующий шаг в написании кода
ПОДВЕДЁМ ИТОГИ
TDD - средство от хаосакомандная работа порождает хаос
:) 4 -> 1