45
Как писать код лучше, используя TDD Сергей Селецкий @sseletskyy [email protected]

WebCamp:Front-end Developers Day. Сергей Селецкий "Как писать код лучше, используя TDD"

Embed Size (px)

Citation preview

Как писать код лучше, используя 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 - это

TDD - этоТесты покрываем кодом!

TEST DRIVEN D ?

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

ВОПРОСЫ ?