2. Agar shunday, shu jumladan, sozlash va teardowns.
3. HTML da sahifa ko'rsatish.
Listing 3-3 HtmlUtil.java (qayta refactored) davlat statik Mag'lubiyatga renderPageWithSetupsAndTeardowns(
PageData pageData, boolean isSuite) Istisno soladi {
((pageData isTestPage bo'lsa ))
includeSetupAndTeardownPages (, isSuite pageData);
pageData qaytish.getHtml();
}
www.it-ebooks.info
36
Bob 3: Vazifalari Xo'sh, bu qaysi? Funktsiya bir narsani yoki uch narsani qilyaptimi? Funktsiya uch
qadamlar funktsiyasi aytib nomi ostida ajralmaslikka bir darajasi ekanligini e'tibor bering.
Funksiyani qisqacha qilib ta'riflab berishimiz mumkin
4
xatboshi:
RenderPageWithSetupsAndTeardowns uchun, biz sahifa bir sinov sahifa yoki yo'qligini ko'rish uchun tekshirish
va agar shunday, biz setups va teardowns o'z ichiga oladi. Har ikki holda ham biz HTML sahifa
to'lov. Agar funksiya faqat funksiyaning aytib o'tilgan nomidan pastda bir darajali bo'lgan amallarni
bajarsa, u holda funksiya bir narsani bajarmoqda. Zero, funksiyalarni yozishimizga sabab
, kattaroq tushunchani (boshqacha qilib aytganda, funksiya nomini) abstraksiyaning keyingi darajasidagi qadamlar to'plamiga aylantirishdir
.
Bu Listing 3-1 ajralmaslikka ko'plab turli darajadagi amallarni o'z ichiga oladi, deb juda aniq bo'lishi kerak
. Shunday qilib, u aniq bir necha narsa qiladi. Hatto listing 3-2 abstraktsiya ikki darajasini bor
, uni pastga kamsitish uchun bizning qobiliyati bilan isbotlangan, deb. Lekin u
mazmunli listing siqilishni juda qiyin bo'ladi 3-3. Chiqarib olardik
agar
nomli funksiyaga bayon
includeSetupsAndTeardownsIfTestPage
, lekin bu oddiygina kodni o'zgartirmasdan qayta tiklaydi
abstraksiya darajasi.
Shunday qilib, funktsiyaning "bir narsa" dan ko'proq ishlayotganini bilishning yana bir usuli, agar siz
undan boshqa funktsiyani
amalga oshirishni qayta tiklash emas [G34].