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


Как перейти к использованию TDD в середине работы над проектом?



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

Как перейти к использованию TDD в середине работы над проектом?
У вас есть некоторый объем код а, про который можно сказать, что
он корректно работает в большей или меньшей степени. Теперь вы
хотите разрабатывать весь новый код в рамках концепции TDD. Что
д елать?
О проблеме переход а на использование TDD в серед ине работы над
проектом можно написать целую книгу (или д аже несколько книг). В
д анном небольшом разд еле я очень поверхно стно затрону несколько
связанных с этим вопро сов.
Самая большая проблема заключается в том, что код , изначально
написанный без тестов, как правило, сложен в тестировании.
Интерфейсы и взаимо связи межд у объектами нед о статочно хорошо


спроектированы, поэтому сложно изолировать некоторый кусок логики,
запустить его и проверить результаты.
«Над о это исправить», – скажете вы. Да, од нако любой рефакторинг
(без применения сред ств автоматизации), скорее всего, привед ет к
возникновению ошибок, и эти ошибки сложно буд ет обнаружить, так
как у вас нет тестов. Проблема яйца и курицы. Змея кусает себя за хво ст.
Замкнутый цикл саморазрушения. Что же д елать?
Прежд е всего скажу, чего д елать не над о: не над о писать тесты д ля
всего код а и выполнять рефакторинг всего код а. Для этого может
потребоваться несколько месяцев, в течение которых у вас не буд ет
времени д обавить в систему новой функционально сти. Если вы тратите
имеющиеся у вас д еньги и при этом не зарабатываете новых, д олго вы
не протянете.
Поэтому 
прежд е 
всего 
мы 
д олжны 
ограничить 
область
планируемых нами изменений. Если мы вид им часть системы, которую
можно существенно улучшить, но которая вполне может быть
о ставлена без изменений на текущий момент, мы о ставляем их без
изменений. Возможно, взглянув на код и вспомнив грехи прошлого, вы
не сможете уд ержаться от слез, од нако возьмите себя в руки, – если код
не требует немед ленного вмешательства, лучше не изменять его.
Во-вторых, мы д олжны разорвать замкнутый круг межд у тестами и
рефакторингом. Мы можем использовать в качестве обратной связи не
только тесты, но и д ругие спо собы, например чрезвычайно о сторожная
работа в паре с партнером. Мы можем использовать обратную связь
более высокого уровня, например тесты на уровне всей системы. Мы
знаем, что такие тесты не являются ад екватными, од нако они
прибавляют нам уверенно сти. Благод аря такой обратной связи мы
можем сд елать части код а, нужд ающиеся в изменении, более уд обными
д ля внесения изменений.
Через некоторое время части системы, которые по стоянно
меняются, станут выгляд еть так, как буд то их разработали с
использованием TDD. Мы мед ленно углубимся в д ремучий лес наших
старых ошибок.

Download 1,35 Mb.

Do'stlaringiz bilan baham:
1   ...   123   124   125   126   127   128   129   130   ...   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