Jeremy Lu Profile picture
Aug 24, 2020 7 tweets 1 min read Read on X
今天第 n 次被問到為何如此嫌棄 typescript 以及它的缺點到底有多慘,因此快速整理了一下手邊資料與例子,先講結論:

ts 傾向 completeness 但只做半套因此極不安全,flow 傾向 soundness 並盡量做到最好因此相對較安全。

🤓
用一張圖看 ts 缺點最快,並總結三點如下:

1.unsound 代表無法確保 runtime 不會出錯

2. 不支援 runtime type checking 因此像載入 JSON 資料時無法確保安全性

3. 萬惡的 any 只要用下去程式安全網就消失無蹤,而不幸的它是許多人的最愛

總之採用 ts 的下場就是無止盡的挫折、咒罵與專案延遲😌
同場加映一個趣味 bug,猜猜理應能正常執行的程式為何被 tsc 報錯?😗
但既然這麼多人用所以 ts 總該有些俱體好處吧?

1. 程式碼內可看到型別能有效降低認知負擔

2. 可提供精準自動完成並且重構程式較不易出錯(例如變數更名)

3. 能抓到明顯的型別錯誤(但對 edge case 無能為力)

4. 潮,而且有比沒有好🤡
因此真正重要的關鍵問題是:

1. 團隊與公司是否值得花大量時間與成本來獲取上開好處?

2. 有無其它解決方案效果一樣好但成本低很多?

3. 更簡言之 → 用了 ts 後你真的有爽到嗎?🧐
所以從前端開發的角度來說,眼前有哪些更好的選擇?在此簡單依採行難易度表列如下:

js, flow, elm, reasonML/purescript/haskell, rust

篇幅有限細節就不多說,但簡單講越後面的越好啦😎

最後且聽老納一句勸👇

♥️都要戴套了當然選不會破的否則不如直接中...(喂喂🔞

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Jeremy Lu

Jeremy Lu Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @thecat

Sep 6, 2022
嘿 這篇業界內行人出來分析過去三十年美國三大有線電視新聞網 CNN、MSNBC 與 FOX 的興起、衰落與轉變太有趣啦,實際上類似的情況也發生在台灣,只是滲入了更多紅色因素,總之超級大推看完就知道媒體每天是如何操弄人心囉~🤗

threadreaderapp.com/thread/1566112…
當然各位忙一定沒時間讀完全文所以精華擷錄如下囉

1. 美國有線電視跟台灣一樣也面臨大量年輕人剪線潮,因此現在主力觀眾以老人為主尤其 65 歲以上這群

2. FOX 立場偏右,因此 MSNBC 就刻意偏左以吸引另一半族群,但不變的是兩台立場都是以收視率(廣告營收)為最優先考量因此事實真相什麼的不用想太多
3. CNN 在這三十年間因為深浸於過去巨大的成功因此演化腳步緩慢,等終於發現不對勁時市場已被 MSNBC 與 FOX 朋分大半,因此自亂腳步盲目跟隨潮流轉變立場

4. 但真正對美國所有新聞網與立場造成巨大衝擊的主因則是近年來興起的 PAC (政治行動委員會,也稱為 Super PAC)
Read 7 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(