Mulohaza: Nega freymvork va kutubxonalar kerak?
Kodimizning sifatini oshirish uchun. Bu, albatta, yagona sabab emas. Lekin katta sabablaridan biri. Bunday texnologiyalar ishimizni osonlashtiradi va iloji boricha sifatli kod yozish uchun yo'l chizib beradi.
Murakkablikdan bizni ozod qilib, e'tiborimizni kodning mag'ziga qaratishga yordam beradi.
Kodimizning sifatini oshirish uchun. Bu, albatta, yagona sabab emas. Lekin katta sabablaridan biri. Bunday texnologiyalar ishimizni osonlashtiradi va iloji boricha sifatli kod yozish uchun yo'l chizib beradi.
Murakkablikdan bizni ozod qilib, e'tiborimizni kodning mag'ziga qaratishga yordam beradi.
π₯18π8
Aytgancha, "sifatli kod" nimaligini "sifatsiz"ini ko'rgan odam biladi. π
Va u birovning kodi bo'lishi shart emas!
Qanchalik sifatli bo'lmasin, kod vaqt o'tishi bilan "chiriydi". π
Chunki vaqt o'tishi bilan unga yangi xususiyatlar qo'shasiz, talablar o'zgaradi, texnologiyalar va muhit o'zgaradi va h.k.z. Kodning qancha sifatli yozsangiz, o'shancha chirimay turadi. Lekin kafolati yoq! π
Yana bir haqiqat shuki, dastruchilarning aksariyati odatda sifatsiz kod yozadi. "Aksariyati" deganda juda juda ko'p dasturchilarni narsarda tutyapman. "Odatda" deganim esa "deyari har doim" degani.
Isboti: O'zingizdan so'rang, oxirgi yozgan kodingizdan ko'nglingiz to'ldimi? Bundan yaxshiroq yoza olardingiz, to'g'rimi?
Shunaqa. π
Bu gap bilan hech kimni yerga urmoqchi emasman. Chunki bu faqat tajribasizlikdan kelib chiqmaydi. Ko'pincha vaqt tig'izligi bizni oson yo'ldan borishga majburlaydi. "Ishlasa bo'ldi" degan fikr bilan yondashamiz.
Va u birovning kodi bo'lishi shart emas!
Qanchalik sifatli bo'lmasin, kod vaqt o'tishi bilan "chiriydi". π
Chunki vaqt o'tishi bilan unga yangi xususiyatlar qo'shasiz, talablar o'zgaradi, texnologiyalar va muhit o'zgaradi va h.k.z. Kodning qancha sifatli yozsangiz, o'shancha chirimay turadi. Lekin kafolati yoq! π
Yana bir haqiqat shuki, dastruchilarning aksariyati odatda sifatsiz kod yozadi. "Aksariyati" deganda juda juda ko'p dasturchilarni narsarda tutyapman. "Odatda" deganim esa "deyari har doim" degani.
Isboti: O'zingizdan so'rang, oxirgi yozgan kodingizdan ko'nglingiz to'ldimi? Bundan yaxshiroq yoza olardingiz, to'g'rimi?
Shunaqa. π
Bu gap bilan hech kimni yerga urmoqchi emasman. Chunki bu faqat tajribasizlikdan kelib chiqmaydi. Ko'pincha vaqt tig'izligi bizni oson yo'ldan borishga majburlaydi. "Ishlasa bo'ldi" degan fikr bilan yondashamiz.
π₯11π7π1
Frontend uchun algoritmlar kerakmi?
Kim kerakmas desa yolg'on aytibdi!
Frontendda emas backendda algoritmlar bo'ladi deyishsa bekorlarni beshtasini yeyishibdi!
Backendmi, frontendmi siz kod yozyapsiz. Frontendda algoritm va ma'lumotlar tuzilmalarining ishlatilishi backendnikidan kam emas. Shunchaki ikkalasi 2 xil yondashishga undaydi.
Agar bu narsani hali tushinib yetmagan bo'lsangiz, algoritmlar haqida to'liq tushunchaga ega emassiz. Xatto CSS yozyotganda sizga algoritmlar kerak bo'ladi.
Pinterestga kirganimdan beri bitta ham vazifa bo'lmadiki algoritmlar yozmagan bo'lsam. O'zi umuman olganda 7 yillik frontend tajribamda har doim algoritmlar bilan ishlagan ekanman. Buni faqat hozir anglab yetyapman.
Aytgancha, algoritm ekan deb kodni murakkablashtirib tashlash kerak emas. Siz odamlar uchun kod yozasiz. Boshqalarga aqlli ekanligingizni ko'rsatish uchun emas. Agar kodingiz murakkablashganini sezsangiz demak nimanidir xato qilyapsiz. Ha, ba'zi muammolarning ozi murakkab yechi talab qiladi. Lekin dasturchi sifatida yaxshi yechim topish bizning vazifamiz.
Bu mavzuda misollar bilan albatta bitta maqola yozaman. Bittasi kamlik qilsa ham kerak.
Kanalga yozadigan narsalarim ko'p. Agar kimlardir kutayotgan bo'lsa uzr so'rayman. O'tirib hammasini yozib chiqay desam vaqt yetmaydi. Shunaqa qisqa, tez fikrlarimni berib turay hech bo'lmasa. ποΈοΈοΈοΈοΈοΈ
Kim kerakmas desa yolg'on aytibdi!
Frontendda emas backendda algoritmlar bo'ladi deyishsa bekorlarni beshtasini yeyishibdi!
Backendmi, frontendmi siz kod yozyapsiz. Frontendda algoritm va ma'lumotlar tuzilmalarining ishlatilishi backendnikidan kam emas. Shunchaki ikkalasi 2 xil yondashishga undaydi.
Agar bu narsani hali tushinib yetmagan bo'lsangiz, algoritmlar haqida to'liq tushunchaga ega emassiz. Xatto CSS yozyotganda sizga algoritmlar kerak bo'ladi.
Pinterestga kirganimdan beri bitta ham vazifa bo'lmadiki algoritmlar yozmagan bo'lsam. O'zi umuman olganda 7 yillik frontend tajribamda har doim algoritmlar bilan ishlagan ekanman. Buni faqat hozir anglab yetyapman.
Aytgancha, algoritm ekan deb kodni murakkablashtirib tashlash kerak emas. Siz odamlar uchun kod yozasiz. Boshqalarga aqlli ekanligingizni ko'rsatish uchun emas. Agar kodingiz murakkablashganini sezsangiz demak nimanidir xato qilyapsiz. Ha, ba'zi muammolarning ozi murakkab yechi talab qiladi. Lekin dasturchi sifatida yaxshi yechim topish bizning vazifamiz.
Bu mavzuda misollar bilan albatta bitta maqola yozaman. Bittasi kamlik qilsa ham kerak.
Kanalga yozadigan narsalarim ko'p. Agar kimlardir kutayotgan bo'lsa uzr so'rayman. O'tirib hammasini yozib chiqay desam vaqt yetmaydi. Shunaqa qisqa, tez fikrlarimni berib turay hech bo'lmasa. ποΈοΈοΈοΈοΈοΈ
π30π₯7
Brogrammist
Frontend uchun algoritmlar kerakmi? Kim kerakmas desa yolg'on aytibdi! Frontendda emas backendda algoritmlar bo'ladi deyishsa bekorlarni beshtasini yeyishibdi! Backendmi, frontendmi siz kod yozyapsiz. Frontendda algoritm va ma'lumotlar tuzilmalarining ishlatilishiβ¦
Disclaimer: Balki men dizayn sistemalar ustida ishlaganim uchun algoritmlarga ko'p ishim tushar. Chunki odatda ko'p narsalar uchun npm library lar ishlatiladi. Hech kim murakkab narsalarni o'zi noldan qurishni xohlamaydi. Bu ko'pincha to'g'ri ham emas. Ortiqcha ish.
Lekin shunday bo'lsa ham dasturingiz talablariga mos kutubxonalar har doim topilavermaydi. Backendda ham shunday.
Lekin shunday bo'lsa ham dasturingiz talablariga mos kutubxonalar har doim topilavermaydi. Backendda ham shunday.
π11π₯2
Ertaga savol-javob qilamizmi? Ko'pchilikka qulay vaqtga belgilayman. (O'zbekiston vaqti bilan)
Anonymous Poll
18%
14:00
19%
16:00
21%
18:00
63%
20:00
π4π₯3
Ko'pchilikning ovoziga ko'ra suhbat vaqtini 20:00 qo'ydim. Hammasi yozib olinadi. Qatnasholmaydiganlar savollarini shu yerda komment tarzida qoldirishlari mumkin. π
π₯9π4
Kun mulohazasi
Agar biror dastur yoki veb-saytni ishlatyotganingizda asablaringiz buzilmasdan, xotirjam, hech narsani o'ylamasdan, faqat ishiningiz bitishi haqida qayg'ursangiz,
demak,
buning ortida asablari buzilgan, kodi ishlaguncha bezovta bo'lgan, odamlar mazza qilib ishlatsin deb qayg'urgan dasturchilar bo'ladi.
Agar biror dastur yoki veb-saytni ishlatyotganingizda asablaringiz buzilmasdan, xotirjam, hech narsani o'ylamasdan, faqat ishiningiz bitishi haqida qayg'ursangiz,
demak,
buning ortida asablari buzilgan, kodi ishlaguncha bezovta bo'lgan, odamlar mazza qilib ishlatsin deb qayg'urgan dasturchilar bo'ladi.
π45π21π₯7
Kun mulohazasi
Biror bug report yoki xatoliklarni tuzatishga oid vazifalar tushib qo'lsa, aksariyat holatlarda ularning sababi dasturchining xatosi bo'ladi. Bu shaxsiy kuzatuvim. Men shu paytgacha ishlagan kompaniyalarda shu narsani ko'p ko'rganman. O'zim ham anchagina bug reportlarga sababchi bo'lganman.
Nega ko'pincha dasturchi aybdor?
Oldin ham bu haqida yozgandim. 2 ta katta sabab:
1. Dasturchida berilgan vazifaga yaxshi yechim bera olishi uchun vaqt kam. Ya'ni ish shoshib qilinadi.
2. Kommunikatsiya. Vazifaning ba'zi detallariga oydinlik kiritmasdan, o'zining tahminlari va mulohazalariga tayanishi.
Nega degan savolni tepadagi har bir sabab uchun ham berish mumkin. Faktorlar juda ko'p. Nega savollari zanjirining oxiri yo'q.
Xo'sh, sizning kuzatuvingiz qanday?
Biror bug report yoki xatoliklarni tuzatishga oid vazifalar tushib qo'lsa, aksariyat holatlarda ularning sababi dasturchining xatosi bo'ladi. Bu shaxsiy kuzatuvim. Men shu paytgacha ishlagan kompaniyalarda shu narsani ko'p ko'rganman. O'zim ham anchagina bug reportlarga sababchi bo'lganman.
Nega ko'pincha dasturchi aybdor?
Oldin ham bu haqida yozgandim. 2 ta katta sabab:
1. Dasturchida berilgan vazifaga yaxshi yechim bera olishi uchun vaqt kam. Ya'ni ish shoshib qilinadi.
2. Kommunikatsiya. Vazifaning ba'zi detallariga oydinlik kiritmasdan, o'zining tahminlari va mulohazalariga tayanishi.
Nega degan savolni tepadagi har bir sabab uchun ham berish mumkin. Faktorlar juda ko'p. Nega savollari zanjirining oxiri yo'q.
Xo'sh, sizning kuzatuvingiz qanday?
π18
Brogrammist
Kun mulohazasi Biror bug report yoki xatoliklarni tuzatishga oid vazifalar tushib qo'lsa, aksariyat holatlarda ularning sababi dasturchining xatosi bo'ladi. Bu shaxsiy kuzatuvim. Men shu paytgacha ishlagan kompaniyalarda shu narsani ko'p ko'rganman. O'zimβ¦
Dasturchi aybdor bo'lmay kim aybdor bo'lsin?
Qisqa javob: Dasturni dasturchi qurgani uchun. π¬
Katta team/guruhlarda kod yozadigan dasturchilar asosan junior'lar va middle'lar. Senior dastruchilar esa asosan rejalashtirish, infrastruktura, kattaroq loyihalar fundamentini ko'tarish va hokazolar bilan shug'ullanishadi.
Mayda detallarda gap ko'p. Nisbatan kichik ishlar juniorlar tomonida bajariladi. Boshqalar (senior/middle) esa uni tekshiradi. Ba'zida mayda detallarga tikilib, asosiy narsalarni ko'rmay qolamiz. Bu tabiiy.
Undan tashqari berilgan dastur talablari va arxitekturasida yo'l qo'yilgan xatoliklar ham bor. Bu endi asosiy narsalarga e'tibor qaratib, mayda lekin muhim detallarni ko'zdan qochirish bo'ladi.
Bunday holatda nafaqat dasturchilar, balki biznes tarafidagi odamlar ham sababchi bo'lib qoladilar. Chunki dasturga qo'yilgan talablar o'ta murakkab bo'lishi va ularni aniqlashtirishda dasturchilarga yetarli yordam ko'rsatilmasligi mumkin.
Albatta bularning hammasi shaxsiy mulohazalarim. Sizning fikringiz qanday?
Qisqa javob: Dasturni dasturchi qurgani uchun. π¬
Katta team/guruhlarda kod yozadigan dasturchilar asosan junior'lar va middle'lar. Senior dastruchilar esa asosan rejalashtirish, infrastruktura, kattaroq loyihalar fundamentini ko'tarish va hokazolar bilan shug'ullanishadi.
Mayda detallarda gap ko'p. Nisbatan kichik ishlar juniorlar tomonida bajariladi. Boshqalar (senior/middle) esa uni tekshiradi. Ba'zida mayda detallarga tikilib, asosiy narsalarni ko'rmay qolamiz. Bu tabiiy.
Undan tashqari berilgan dastur talablari va arxitekturasida yo'l qo'yilgan xatoliklar ham bor. Bu endi asosiy narsalarga e'tibor qaratib, mayda lekin muhim detallarni ko'zdan qochirish bo'ladi.
Bunday holatda nafaqat dasturchilar, balki biznes tarafidagi odamlar ham sababchi bo'lib qoladilar. Chunki dasturga qo'yilgan talablar o'ta murakkab bo'lishi va ularni aniqlashtirishda dasturchilarga yetarli yordam ko'rsatilmasligi mumkin.
Albatta bularning hammasi shaxsiy mulohazalarim. Sizning fikringiz qanday?
π12
Amalga oshirish juda murakkab bo'lgan ishga o'ta sodda yechim bera oldim. Albatta bu yechimga kelguncha ancha vaqtim ketdi.
Boshqa seniorlardan shunaqa maqtov olish boshqacha zavq beradida π. Har holda to'kilgan terga rozi bo'ladi odam. Quvvat beradi.
P.S. Uzr, maqatanishni yomon ko'raman, lekin bunaqa maqtov har doim ham eshitmayman. Shunga sizlarga ham ko'rsatgim keldi.
Boshqa seniorlardan shunaqa maqtov olish boshqacha zavq beradida π. Har holda to'kilgan terga rozi bo'ladi odam. Quvvat beradi.
P.S. Uzr, maqatanishni yomon ko'raman, lekin bunaqa maqtov har doim ham eshitmayman. Shunga sizlarga ham ko'rsatgim keldi.
π25π₯11π3
Keyingi livestream'da nima qilamiz?
Final Results
39%
React component challenge: Biror reusable komponent yasashni o'rganamiz
52%
Web Worker'lar bilan ishlashni o'rganamiz
58%
JavaScript + React intervyu masalalarini yechamiz
π10