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



Download 1,35 Mb.
Pdf ko'rish
bet3/140
Sana15.04.2022
Hajmi1,35 Mb.
#555128
1   2   3   4   5   6   7   8   9   ...   140
Bog'liq
Экстремальное программирование Разработка через тестирование PDFDrive

Предисловие 
Чистый код, который работает
(clean code that works), – в этой
короткой, но сод ержательной фразе, прид уманной Роном Джеффризом
(Ron Jeffries), кроется весь смысл метод ики разработки через
тестирование (Test-Driven Development, TDD). Чистый код , который
работает, – это цель, к которой стоит стремиться потому, что
• это пред сказуемый спо соб разработки программ. Вы знаете, когд а
работу можно считать законченной и не беспокоиться о д линной черед е
ошибок;
• д ает шанс усвоить уроки, которые препод но сит код . Если вы
во спользуетесь первой же ид еей, которая пришла в голову, у вас не
буд ет шанса реализовать вторую, лучшую ид ею;
• улучшает жизнь пользователей ваших программ;
• позволяет вашим коллегам рассчитывать на вас, а вам –
рассчитывать на них;
• писать такой код приятнее.
Но как получить чистый код , который работает? Многие силы
мешают нам получить чистый код , а иногд а не уд ается д аже получить
код , который про сто работает. Чтобы избавиться от множества проблем,
мы буд ем разрабатывать код , опираясь на автоматизированное
тестирование. Такой стиль программирования называется разработкой
через тестирование. Согласно этой метод ике
• новый код пишется только по сле того, как буд ет написан
автоматический тест, завершающийся неуд ачей;
• любое д ублирование устраняется.
Два про стых правила, не правд а ли? Од нако они генерируют
сложное инд ивид уальное и групповое повед ение со множеством
технических по след ствий:
• в процессе проектирования мы по стоянно запускаем код и
получаем пред ставление о его работе, это помогает принимать
правильные решения;
• мы сами пишем тесты, так как не можем жд ать, что кто-то д ругой
напишет тесты д ля нас;
• наша сред а разработки д олжна быстро реагировать на небольшие
мод ификации код а;
• д изайн программы д олжен базироваться на использовании


множества 
автономных, 
слабо 
связанных 
компонентов, 
чтобы
упро стить тестирование код а.
Два упомянутых правила TDD опред еляют поряд ок этапов
программирования.
1. Красный – напишите небольшой тест, который не работает, а
возможно, д аже не компилируется.
2. Зеленый – заставьте тест работать как можно быстрее, при этом
не д умайте о правильно сти д изайна и чистоте код а. Напишите ровно
столько код а, чтобы тест сработал.
3. Рефакторинг – устраните из написанного код а любое
д ублирование.
Красный – зеленый – рефакторинг – это мантра TDD.
Если д опустить, что такой стиль программирования возможен,
можно пред положить, что благод аря его использованию код буд ет
сод ержать существенно меньше д ефектов, кроме того, цель работы
буд ет ясна всем, кто принимает в ней участие. Если так, тогд а
разработка только код а, необход имого д ля прохожд ения тестов,
привод ит также к социальным по след ствиям:
• при д о статочно низкой плотно сти д ефектов команд а контроля
качества (Quality Assurance, QA) сможет перейти от реагирования на
ошибки к их пред упрежд ению;
• с уменьшением количества неприятных сюрпризов менед жеры
проекта смогут точнее оценить труд озатраты и вовлечь заказчиков в
процесс разработки;
• если темы технических д искуссий буд ут четко опред елены,
программисты смогут взаимод ействовать д руг с д ругом по стоянно, а не
раз в д ень или раз в нед елю;
• и снова при д о статочно низкой плотно сти д ефектов мы сможем
кажд ый 
д ень 
получать 
интегрированный 
рабочий 
прод укт 
с
д обавленной в него новой функционально стью, благод аря чему мы
сможем вступить с нашими заказчиками в д еловые отношения
совершенно нового типа.
Итак, ид ея про ста, но в чем наш интерес? Почему программист
д олжен 
взять 
на 
себя 
д ополнительную 
обязанно сть 
писать
автоматизированные тесты? Зачем программисту д вигаться вперед
малюсенькими шажками, когд а его мозг в со стоянии прод умать горазд о
более сложную структуру д изайна? Храбро сть.



Download 1,35 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   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