Robert C. Martin Ketma-Ket Ushbu seriyaning vazifasi dasturiy hunarmandchilik san'atining holatini yaxshilashdir



Yüklə 479,81 Kb.
səhifə51/59
tarix20.11.2023
ölçüsü479,81 Kb.
#162218
1   ...   47   48   49   50   51   52   53   54   ...   59
Clean Code by Robert C Martin

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();
}

Yüklə 479,81 Kb.

Dostları ilə paylaş:
1   ...   47   48   49   50   51   52   53   54   ...   59




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin