3 Vazifalari Dasturlashning dastlabki kunlarida biz rutin va subroutin tizimlarimizni yaratdik.
Keyin Fortran va PL / 1 davrida biz dasturlar,
subprogramlar va funktsiyalarimizni yaratdik. Bugungi kunda faqat funktsiya o'sha erta kun omon. Vazifalar
har qanday dasturdagi birinchi tashkilotdir. Ularni yaxshi yozish bu bobning mavzusi.
www.it-ebooks.info
32
Bob 3: Vazifalari Listingiga kodni ko'rib chiqaylik 3-1. Bu FitNesse uzoq vazifasini topish qiyin,
1
lekin
bir oz izlanishdan keyin men bunga duch keldim. Faqat uzoq emas, lekin u takrorlanishi
kodi bor, g'alati satrlari uchastkalar, va ko'plab g'alati va ajoyib ma'lumotlar turlari va API.
Agar keyingi uch daqiqa ichida undan qilish mumkin qancha ma'no qarang.
1.
Ochiq manba sinov vositasi. www.fitnese.org
Listing 3-1 HtmlUtil.java (FitNesse 20070619) davlat statik Mag'lubiyatga testableHtml(
PageData pageData,
boolean includeSuiteSetup
) istisno soladi {
= WikiPage wikiPage pageData.getWikiPage();
= StringBuffer bufer yangi StringBuffer();
agar (pageData.("Test hasAttribute")) {
(agar includeSuiteSetup ) {
=WikiPage suiteSetup
PageCrawlerImpl.getInheritedPage(
SuiteResponder.SUITE_SETUP_NAME, wikiPage
);
(suiteSetup !agar = null) {
=WikiPagePath pagePath
suiteSetup.() getPageCrawler.(suiteSetup getFullPath);
String = PathParser pagePathName.(pagePath to'lov);
bufer.("!appendinclude-sozlash .")
.(pagePathName append)
.("\n append");
}
}
=WikiPage o'rnatish
PageCrawlerImpl.("", wikiPage O'rnatish getInheritedPage);
(o'rnatish !agar = null) {
=WikiPagePath setupPath
wikiPage.() getPageCrawler.(o'rnatish getFullPath);
String = PathParser setupPathName.(setupPath to'lov);
bufer.("!appendinclude-sozlash .")
.(setupPathName append)
.("\n append");
}
}
bufer.append(pageData.getContent());
agar (pageData.("Test hasAttribute")) {
=WikiPage teardown
PageCrawlerImpl.("", wikiPage TearDown getInheritedPage);
(teardown !agar = null) {
=WikiPagePath tearDownPath
wikiPage.() getPageCrawler.(teardown getFullPath);
String = PathParser tearDownPathName.(tearDownPath to'lov);
bufer.("\n append")
.("!append-teardown o'z ichiga oladi . ")
.(tearDownPathName append)
.("\n append");
}
www.it-ebooks.info
33
Vazifalari Uch minutlik o'qishdan keyingi funksiyani tushunasizmi? Ehtimol emas.
U erda juda ko'p turli xil mavhumlik darajasida davom etmoqda. G'alati
satrlari va g'alati vazifasi qo'ng'iroqlar ikki barobar ichki bilan aralashtiriladi bor
agar
tomonidan nazorat bayonotlar
bayroqlar.
Biroq, faqat bir necha oddiy usul ekskursiyalar bilan, ba'zi qayta nomlash, va bir oz
qayta qurish, men listingiga 3-2 to'qqiz liniyalari funktsiyasi niyat qo'lga muvaffaq bo'ldi.
Agar keyingi 3 daqiqa ichida, deb tushunish mumkin yoki yo'qligini qarang.
(agar includeSuiteSetup ) {
=WikiPage suiteTeardown
PageCrawlerImpl.getInheritedPage(
SuiteResponder.SUITE_TEARDOWN_NAME,
wikiPage
);
(suiteTeardown !agar = null) {
=WikiPagePath pagePath
suiteTeardown.() getPageCrawler.(suiteTeardown getFullPath );
String = PathParser pagePathName.(pagePath to'lov);
bufer.("!append-teardown o'z ichiga oladi . ")
.(pagePathName append)
.("\n append");
}
}
}
pageData.setContent(bufer.toString());
pageData qaytish.getHtml();
}