1. Qanday turdagi narsalar mavjud
theList
?
2. Bir elementning zeroth obunasining ahamiyati nimada
theList
?
3. Qadrning ahamiyati nimada
4
?
4. Qaytarilayotgan ro'yxatni qanday ishlatsam bo'ladi?
www.it-ebooks.info
19
Disinformation Oldini Olish Ushbu savollarga javoblar kod namunasida mavjud emas, lekin ular bo'lishi mumkin edi
. Shaxnoz farrosh o'yinda ishlayapmiz deb ayting. Biz kengashi deb nomlangan hujayralari ro'yxati ekanligini topish
theList
. Deb qayta nomlaylik
gameBoard
.
Kengashdagi har bir hujayra oddiy qator bilan ifodalanadi. Bundan tashqari, zeroth
subscript status qiymatining joylashuvi va 4 ning status qiymati "bayroq"degan ma'noni anglatadi."Bu
tushunchalar nomlarini berish orqali biz kodni sezilarli darajada yaxshilashimiz mumkin:
davlat Ro'yxati getFlaggedCells() {
Ro'yxati = yangi ArrayList flaggedCells ();
([] int uyali : gameBoard uchun )
(mobil[STATUS_VALUE] == FLAGGED bo'lsa )
flaggedCells.qo'shish (hujayra);
qaytish flaggedCells;
}
Kodning soddaligi o'zgarmaganligiga e'tibor bering. Bu hali
operatorlar va konstantalar aynan bir xil raqami bor, joylashtirish darajadagi aynan bir xil raqami bilan. Lekin kod
ancha aniq bo'lib qoldi.
Biz yanada borib, o'rniga bir qator foydalanish hujayralari uchun oddiy sinf yozish mumkin
int
s.
Bu niyat-oshkor vazifasini o'z ichiga olishi mumkin (uni chaqiradi
isFlagged
) sehrli numni yashirish uchun-
bers. Bu funktsiya yangi versiyada natijalari:
davlat Ro'yxati getFlaggedCells() {
Ro'yxati = yangi ArrayList flaggedCells ();
(Mobil uyali : gameBoard uchun )
agar (hujayra.isFlagged())
flaggedCells.qo'shish (hujayra);
qaytish flaggedCells;
}
Ushbu oddiy nom o'zgarishi bilan nima sodir bo'layotganini tushunish qiyin emas. Bu
yaxshi nomlarni tanlashning kuchi.