Listing 3-4 Bordiyu.java davlat Pul calculatePay(Xodim e)
soladi InvalidEmployeeType {
switch (e. turi) {
case topshirildi:
qaytish calculateCommissionedPay(e);
case soatbay:
qaytish calculateHourlyPay(e);
Jose SOLARIED:
qaytish calculateSalariedPay(e);
standart:
yangi InvalidEmployeeType(e.otish turi);
}
}
7.
a. f
. n. http://en.wikipedia.org/wiki/Single_responsibility_principle b. Toshmatov http://www.objectmentor.com/resources/articles/srp.pdf
8.
a. f
. n. http://en.wikipedia.org/wiki/Open/closed_principle b. Toshmatov http://www.objectmentor.com/resources/articles/ocp.pdf
9.
[GOF].
www.it-ebooks.info
39
Tavsiflovchi Nomlardan Foydalaning tizim qolgan ularni [G23] ko'rish mumkin emas, shunday qilib, munosabatlar. Albatta, har
bir holat noyobdir va men bu qoidaning bir yoki bir nechta qismini buzgan paytlarim bor.
Tavsiflovchi Nomlardan Foydalaning Listingda 3-7 dan misol funksiyamiz nomini o'zgartirdim
testableHtml
uchun
SetupTeardownIncluder.to'lov
. Bu yaxshi vazifasi nima ta'riflaydi, chunki, bu juda yaxshi nom
. Men ham xususiy usullari kabi bir xil tavsiflovchi nomi har berdi
isTestable
yoki
includeSetupAndTeardownPages
. Yaxshi nomlarning qiymatini oshirib yuborish qiyin
. Ward tamoyilini eslab: "siz
har bir muntazam siz kutgan nima juda ko'p bo'lib chiqadi qachon toza kodi ustida ishlaymiz bilaman."
Ushbu tamoyilga erishish uchun yarim jang bir narsani bajaradigan kichik funktsiyalar uchun yaxshi nomlarni tanlashdir.
Kichik va ko'proq yo'naltirilgan bir funksiyasi, oson tavsiflovchi
nomini tanlash uchun emas.
Ismni uzoq qilishdan qo'rqmang. Uzoq tavsiflovchi ism qisqa
sirli ismdan yaxshiroqdir. A uzoq tavsiflovchi nomi uzoq tavsiflovchi izoh ko'ra yaxshiroqdir.
Bir nechta so'zlarni funksiya nomlarida osongina o'qish imkonini beruvchi nomlovchi Konvensiyadan foydalaning
va keyin funksiyaga nima deb nom berish uchun o'sha bir nechta so'zdan
foydalaning.