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



Yüklə 479,81 Kb.
səhifə55/59
tarix20.11.2023
ölçüsü479,81 Kb.
#162218
1   ...   51   52   53   54   55   56   57   58   59
Clean Code by Robert C Martin

Funksiyalar ichidagi bo'limlar
Listingiga qarang 4-7 betda 71. E'tibor bering, deb
generatePrimes
funktsiya 
deklaratsiyalar , initsializatsiyalar va elaklar kabi bo'limlarga bo'linadi . Bu bir 
nechta narsani qilishning aniq alomatidir. Bir narsani bajaradigan funktsiyalarni asosli ravishda 
bo'limlarga bo'lish mumkin emas.
Funktsiya boshiga ajralmaslikka bir darajasi
Bizning vazifalarimiz "bir narsa" qilayotganligiga ishonch hosil qilish uchun
, biz vazifamiz ichidagi bayonotlar bir xil mavhumlik darajasida ekanligiga ishonch hosil qilishimiz kerak. Bu listing qanday ko'rish oson 
3-1 bu qoidani buzgan. U erda abstraksiyaning juda yuqori darajasida bo'lgan tushunchalar mavjud
getHtml()
; abstraksiyaning oraliq darajasida bo'lgan boshqalar, bunday
sifatida:
String = PathParser pagePathName.(pagePath to'lov)
; va yana boshqalar-
ably past darajasi, kabi :
.("\n append")
.
Bir funktsiya ichida ajralmaslikka aralashtirish darajalari har doim chalkash bo'ladi. O'quvchilar 
muayyan ifodaning muhim tushuncha yoki detal ekanligini aytib bera olmasliklari mumkin. Yomonmas,
4.
LOGO tili Ruby va Python foydalanish shu tarzda "uchun" kalit so'zni ishlatiladi "daf."Shunday qilib, har bir vazifasi so'z bilan boshladi
" uchun."Bu funktsiyalarning ishlab chiqilishiga qiziqarli ta'sir ko'rsatdi.
www.it-ebooks.info
37
Bayonotlar O'tish
singan windows kabi, details muhim tushunchalar bilan aralashtiriladi bir marta,ko'proq va ko'proq 
details funktsiyasi ichida ajratmoq moyil.
Yuqoridan pastga kodni o'qish: Stepdown qoida
Biz kod top-pastga hikoya kabi o'qishni istaymiz.
5
Biz 
vazifalari ro'yxatini pastga o'qib, biz bir vaqtning o'zida ajralmaslikka bir darajasini tushib, dastur o'qish mumkin, shunday qilib, har bir vazifani ajralmaslikka keyingi darajada kishilar tomonidan ta'qib qilinadi istayman
. Buni 
o'gay qoida deb atayman 
.
Bu boshqacha aytish uchun, biz bu paragraflar uchun majmui go'yo dasturini o'qib imkoniyatiga ega bo'lish istayman
, qaysi har abstraktsiya joriy darajasini tasvirlab va 
pastga keyingi darajadagi paragraflar uchun keyingi havola etiladi.
O'z ichiga oladi setups va teardowns, biz o'z ichiga oladi setups, keyin biz o'z ichiga oladi sinov sahifa 
mazmunini, va keyin biz o'z ichiga oladi teardowns.

Setuplarni kiritish uchun Suit setupni kiritamiz agar bu Suit bo'lsa unda o'z ichiga
muntazam o'rnatish.
Suite sozlashni o'z ichiga olish uchun "SuiteSetUp" sahifasi uchun ota-ona ierarxiyasini qidiramiz
va ushbu sahifaning yo'li bilan o'z ichiga bayonot qo'shing.
Ota-onani qidirish uchun. . .
Dasturchilar bu qoidaga amal qilishni va 
abstraksiyaning bir darajasida qoladigan funksiyalarni yozishni o'rganishlari juda qiyin bo'lib chiqadi. Lekin bu hiylani o'rganish ham juda 
muhim. Bu vazifalarni qisqa saqlash va ular, albatta, ishonch hosil qilish uchun kalitidir " bir narsa."
Kodni paragraflarga topshirish kabi o'qish 
abstraksiya darajasini izchil saqlash uchun samarali usuldir.
Listingiga bir ko'z tashlang 3-7 ushbu bobning oxirida. Bu butun ko'rsatadi
testableHtml
funktsiya bu erda tasvirlangan tamoyillariga ko'ra refactored. 
Har bir funktsiya keyingi joriy qanday e'tibor bering, va har bir funktsiya ajralmaslikka izchil darajada qoladi
.

Yüklə 479,81 Kb.

Dostları ilə paylaş:
1   ...   51   52   53   54   55   56   57   58   59




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin