Tegishli nashrlar 'flow'


Qanday qilib biz 300k LoC Flow kod bazasini kod bazasini muzlatishsiz TypeScript-ga ko'chirdik — 1/2-qism
Iziworkda bizning orqada qolgan vazifamiz bor edi: Flow kod bazasini TypeScript-ga ko'chiring. Biz bir necha oylik tayyorgarlikdan so'ng, kod bazasini muzlatib qo'ymasdan, 300k LoC yadroimizni TypeScript-ga muvaffaqiyatli o'tkazganimizdan mamnunmiz! Ushbu blog postida biz ushbu migratsiyani amalga oshirish uchun nima qilganimizni ko'rib chiqamiz. Bu 2 qismli seriyaning birinchi qismi. Chiqish oqimi Iziwork boshlanganda, biz tipni tekshirish vositalaridan foyda olishni xohladik...

Umumiy React komponentlarini yozish uchun Flow generics-dan foydalanish
Ushbu hikoyaning yanada qulayroq, oʻqilishi mumkin, mobil qurilmalarga mos va eng soʻnggi versiyasi “mening shaxsiy blogim”da mavjud! Ushbu post Oqim turlaridan foydalanishga qaratilgan norasmiy kichik maqolalar turkumining bir qismi boʻlib, men soʻnggi bir necha oy ichida kashf qilgan va foydali deb topdim. Ushbu turkumning birinchi maqolasini bu yerda topishingiz mumkin Umumiy React komponentlarini yaratish loyihaning kod bazasini soddalashtirishning ajoyib usuli bo'lishi..

Flow'dan Typescriptga o'tish: Nima uchun ? Qanaqasiga ? O'shanga arziydi ?
Inatoga kelganimda kodlar bazasi ES6 da yozilgan edi. Keyin, biz Flow bilan mustahkamlikni qo'shdik. Bu bizga katta refaktorlarni bajarishga va xatolar sonimizni kamaytirishga yordam berdi. Muammolar paydo bo'lguncha biz baxtli edik. Flow bilan bog'liq muammolarimiz Flow juda ko'p RAM va hisoblash resurslarini oladi (biz guvohi bo'ldik › 10 Go of RAM). Matn muharrirlari bilan integratsiya eng zamonaviy emas. Biz VSCode-da avtomatik to'ldirish va avtomatik import qilishning..

Ruxsat etilgan obyekt xossalarini/kalitlarini sanab o‘tish obyekti tomonidan belgilangan Flow turi bilan majburlash
Bunday narsani qanday qilib to'g'ri ishlashini hech o'ylab ko'rganmisiz? Men ham. Shunday qilib, $ObjMap‹T, F› yordam dasturining hech qanday noaniqligi bilan qanday qilib. Ishlash kerakdek tuyuladi, lekin ishlamayapti. Bizning asosiy taxminlarimizda xatoliklar kam. tl;dr: Object.freeze() va $Exact<T> Flow turi yordam dasturidan foydalaning. 1. Turi aniq emas Oqimdagi ob'ekt turini aniqlash sukut bo'yicha noto'g'ri. "Ob'ekt turini $Exact<T> " qilish..

Javascriptni sevishimga imkon beradigan to'rtta vosita
Men an'anaviy ravishda o'zimni backend dasturchisi deb hisoblaganman: menejmentdan oldin mening kareram Java, C, Perl, Python va Ruby tillarida bo'lgan. Men 2011-yilda Javascriptni "haqiqiy" til sifatidagi g'oyasini masxara qilganimni tan olaman, garchi u bilan oldingi o'n yillikda ajoyib ishlar qilingan bo'lsa ham. Yaqinda men Javascript yozishdan haqiqatan ham rohatlanayotganimni angladim. Bu men uchun butunlay ajablanib bo'ldi, bu men haqimda Javascriptga qaraganda ko'proq narsani..

Flowtype-da birlashma va kesishish turlari nima?
Men oqim turidan foydalanaman. Kodni ishga tushirishdan oldin xatolarni aniqlash juda foydali. Biroq, men Union va kesishish turlari haqida tushuna olmaydigan muammoga duch keldim. Quyidagi kod Union va Intersection turlaridan asosiy foydalanishga misoldir. Bu kod men uchun mantiqiy. Lekin... funksiya haqida nima deyish mumkin? Ushbu kodni ko'ring. Nega? Flowtype g'azablangan. Birlashma turini tushunishim mantiqdagi "YOKI" kabi. 11: toF(1); // Error! ^ number. This..

Bilim ishchilarini to'xtatishning yashirin narxi
Bilim ishchilarini to'xtatishning yashirin narxi Har yili AQSh kompaniyalari uchun 588 milliard dollar zarar (Dastlab 2009-yilda www.hadermann.be da chop etilgan) “Pragpub”ning “noyabr soni”da “uzilishlar haqida qiziqarli maqola” bor. Maqola Brayan Tarboks tomonidan yozilgan, u ham bu haqda o'zining "blogida" eslatib o'tadi. Menga subtitr yoqadi: "Aqliy stackingni tashlab ketmaslikning oddiy strategiyalari". Brayan ko'pincha arzimas savollar yoki chalg'ituvchi narsalar..