1
Flow je statická kontrola typu JavaScript, ktorú sme vytvorili na Facebooku.Celkovým poslaním spoločnosti Flow je poskytnúť vývojárom jazyka JavaScript úžasný zážitok z kódovania - cyklus rýchlych úprav a obnovenia - aj keď sa vývoj a vývoj kódovej základne vyvíjajú.Z technického hľadiska určujeme dva konkrétne ciele, ktoré sú pre túto misiu dôležité: presnosť a rýchlosť.Tieto ciele všadeprítomne poháňajú návrh a implementáciu.Presné chyby JavaScriptu môžu mať významný vplyv na Facebooku.Vývojári chcú nájsť a opraviť toľko chýb, koľko len dokážu, kým sa ich kód objaví vo výrobe.Takže sa musíme starať o spoľahlivosť.Zároveň musíme dbať na to, aby sme neohlásili príliš veľa falošných chýb, pretože nízky pomer signálu / šumu znamená nízku mieru fixácie.Inými slovami, chceme, aby bola analýza Flow v praxi presná - musí modelovať základné charakteristiky jazyka dostatočne presne, aby pochopila rozdiel medzi idiomatickým kódom a neúmyselnými chybami.Presnosť rýchlosti zvyčajne prichádza na úkor rýchlosti.Ale aj keď je požadovaná presná analýza, väčšina odvolania skriptu JavaScript sa stratí, ak spomalíme cyklus úprav a obnovovania tým, že vývojári čakajú, keď kompilujeme.Inými slovami, musíme analyzovať Flowovu analýzu tak, aby bola extrémne rýchla - musí reagovať na zmeny kódu bez viditeľného oneskorenia, pričom v praxi je stále dostatočne presná.
flow-js