Экстремальное программирование. Разработка через тестирование


Зависит ли эффективность TDD от начальных условий?



Download 1,35 Mb.
Pdf ko'rish
bet129/140
Sana15.04.2022
Hajmi1,35 Mb.
#555128
1   ...   125   126   127   128   129   130   131   132   ...   140
Bog'liq
Экстремальное программирование Разработка через тестирование PDFDrive

Зависит ли эффективность TDD от начальных условий?
Склад ывается впечатление, что разработка ид ет глад ко только в
случае, если тесты выполняются в опред еленном поряд ке. Тогд а мы
можем наблюд ать классическую по след овательно сть красный – зеленый
– рефакторинг – красный – зеленый – рефакторинг. Вы можете
попробовать взять те же самые тесты, но реализовать их в д ругом
поряд ке, и у вас возникнет ощущение, что вы не сможете, как прежд е,
выполнять разработку маленькими шажками. Действительно ли од на
по след овательно сть тестов на поряд ок быстрее/проще в реализации,
чем д ругая по след овательно сть? Существуют ли какие-либо признаки
тестов, которые могут под сказать, в какой по след овательно сти их
след ует реализовать? Если метод ика TDD чувствительна к начальным
условиям в малом масштабе, можно ли считать ее пред сказуемой в более
крупном масштабе? (Вот аналогия: отд ельные потоки реки Миссисипи
непред сказуемы, од нако вы можете с уверенно стью сказать, что через
устье реки протекает приблизительно 2 000 000 кубических футов вод ы
в секунд у.)
Как методика TDD связана с шаблонами?
Все мои технические публикации – это поиск фунд аментальных
правил, которые позволяют обычным люд ям д ействовать так, как
д ействуют эксперты. Это связано с тем, как я сам о сваиваю то или иное
ремесло, – я нахожу эксперта, которому можно под ражать, и по степенно
выясняю, что, собственно, он д елает. Опред еленно, я не пред полагаю,
что 
сформулированные 
мною 
правила 
д олжны 
использоваться
автоматически, од нако именно так и происход ит.
Моя старшая д очь (привет, Бетани! Я же говорил тебе, что ты
попад ешь в мою книгу, – не беспокойся, это не слишком
обременительно) в течение семи лет пыталась научиться быстро
перемножать числа. Как я, так и моя жена, когд а были маленькими,
научились этому за значительно более короткий срок. В чем д ело?
Оказывается кажд ый раз, когд а перед Бетани вставала зад ача умножить,
например, 6 на 9, она склад ывала число 6 д евять раз (или число 9 шесть
раз). Таким образом, можно сказать, что Бетани вообще не умела
умножать числа так, как это д елают д ругие люд и, од нако при этом она


необычайно быстро склад ывала числа.
Я обратил внимание на од ин важный эффект, который, я над еюсь,
смогут принять во внимание и д ругие. Если на о снове по стоянно
повторяющихся 
д ействий 
формулируются 
правила, 
д альнейшее
применение этих правил становится нео сознанным и автоматическим.
Естественно, вед ь это проще, чем обд умывать все «за» и все «против»
того или иного д ействия с самого начала. Благод аря этому повышается
скоро сть работы, и, если в д альнейшем вы сталкиваетесь с исключением
или проблемой, которая не вписывается ни в какие правила, у вас
появляется д ополнительное время и энергия д ля того, чтобы в полной
мере применить свои творческие спо собно сти.
Именно это произошло со мной, когд а я писал книгу 
Smalltalk Best
Practice Patterns
. В какой-то момент я решил про сто след овать правилам,
описываемым в ней. В начале это несколько замед лило скоро сть моей
работы – мне требовало сь д ополнительное время, чтобы вспомнить то
или иное правило или написать новое. Од нако по прошествии нед ели я
заметил, что с моих пальцев почти мгновенно слетает код , над
разработкой которого ранее мне приход ило сь некоторое время
размышлять. Благод аря этому у меня появило сь д ополнительное время
д ля анализа и важных размышлений о д изайне.
Существует еще од на связь межд у TDD и шаблонами: TDD является
метод ом реализации д изайна, о снованного на шаблонах. Пред положим,
что в опред еленном месте разрабатываемой системы мы хотим
реализовать шаблон «Стратегия» (Strategy). Мы пишем тест д ля первого
варианта и реализуем его, созд ав метод . По сле этого мы намеренно
пишем тест д ля второго варианта, ожид ая, что на стад ии рефакторинга
мы прид ем к шаблону «Стратегия» (Strategy). Мы с Робертом Мартином
занимались исслед ованием под обного стиля TDD. Проблема со стоит в
том, что д изайн прод олжает вас уд ивлять. Ид еи, которые на первый
взгляд
кажутся 
вам 
вполне 
уместными, 
позже 
оказываются
неправильными. Поэтому я не рекоменд ую целиком и полно стью
д оверять своим пред чувствиям отно сительно шаблонов. Лучше
д умайте о том, что, по-вашему, д олжна д елать система, позвольте
д изайну оформиться так, как это необход имо.

Download 1,35 Mb.

Do'stlaringiz bilan baham:
1   ...   125   126   127   128   129   130   131   132   ...   140




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish