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


Согласование различий (Reconcile Differences)



Download 1,35 Mb.
Pdf ko'rish
bet113/140
Sana15.04.2022
Hajmi1,35 Mb.
#555128
1   ...   109   110   111   112   113   114   115   116   ...   140
Bog'liq
Экстремальное программирование Разработка через тестирование PDFDrive

Согласование различий (Reconcile Differences)
Как можно унифицировать д ва схожих фрагмента код а? По степенно
д елайте их все более похожими д руг на д руга. Унифицируйте их только
в случае, если они абсолютно ид ентичны.
Под час рефакторинг – это весьма нервная работа. Про стые
изменения в код е очевид ны. Если я извлекаю метод и д елаю это
механически корректно, вероятно сть того, что повед ение системы
изменится, чрезвычайно мала. Од нако некоторые из изменений
заставляют внимательно анализировать по след овательно сть выполнения


операций и поряд ок мод ификации д анных. По строив д линную цепочку
умозаключений, вы приход ите к вывод у, что запланированное вами
изменение код а, скорее всего, не привед ет к изменению повед ения
системы. Од нако любой под обный рефакторинг уменьшает количество
воло с на вашей голове.
Сложные изменения – это именно то, чего мы пытаемся избежать,
когд а прид ерживаемся стратегии маленьких шажков и конкретной
обратной связи. Полно стью избежать сложных изменений невозможно,
од нако можно уменьшить их влияние на о стальной код .
Под обные изменения возникают на разных уровнях:
• Два цикла выгляд ят похоже. Если вы сд елаете их ид ентичными, вы
сможете объед инить их в ед иный цикл.
• Две ветви условного оператора выгляд ят похоже. Сд елав их
ид ентичными, вы сможете избавиться от условного оператора.
• Два метод а выгляд ят похоже. Сд елав их ид ентичными, вы
сможете избавиться от од ного из них.
• Два класса выгляд ят похоже. Сд елав их ид ентичными, вы сможете
избавиться от од ного из них.
Иногд а зад ачу согласования различий уд обнее решать в обратном
поряд ке. Иными словами, вы пред ставляете себе самый тривиальный
по след ний этап этой процед уры, а затем д вигаетесь в обратном
направлении. Например, если вы хотите избавиться от нескольких
под классов, наиболее тривиальный по след ний шаг можно буд ет
выполнить в случае, если под класс ничего не сод ержит. Тогд а везд е, гд е
используется под класс, можно буд ет использовать суперкласс, при этом
повед ение системы не изменится. Что над о сд елать, чтобы очистить
под класс от метод ов и д анных? Для начала метод можно сд елать
полно стью ид ентичным од ному из метод ов суперкласса. По степенно
переместив все метод ы и все д анные в суперкласс, вы сможете заменить
ссылки на под класс ссылками на суперкласс. По сле этого под класс
можно уничтожить.

Download 1,35 Mb.

Do'stlaringiz bilan baham:
1   ...   109   110   111   112   113   114   115   116   ...   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