幾個月前,我發表了 You’re a Real JavaScript Developer Only If...

那只是一篇好玩的文章,老實說,我沒想到會引起這麼多開發者的共鳴 😅

但從留言看來,我們都經歷過同樣的混亂:

  • 神祕的 bug
  • 隨機發生的 npm 災難
  • console.log 驅動的除錯
  • 不知道為什麼卻就是能運作的程式碼

後來我又看到了 @sylwia-lask 寫的有趣文章 You’re a Real Software Developer Only If...

我很喜歡。

不只是因為它好笑,更因為它讓我想起開發者社群我最喜歡的一件事:

我們有不同的技術堆疊、不同的工作、不同的經驗程度...

但不知怎麼地,我們總是會收集到一模一樣的故事 😄

所以繼 JavaScript 之後...

也繼 Sylwia 的 Software Developer 版本之後...

我覺得繼續這個傳統才公平。

這次,讓我們來聊聊那個有一半時間都在保護我們不要害到自己的語言。

TypeScript。

TypeScript developer girl image

所以,只有當你符合以下情況時,你才算是真正的 TypeScript 開發者...


🔷 第一個 TypeScript 現實檢查

你把一個 JavaScript 專案轉成 TypeScript,然後心想:

「這應該只要一小時就好」

三天後,你還在修型別錯誤。


你加了一個 any,只是為了讓錯誤消失。

然後立刻跟自己保證之後會回來處理。

你從來沒有回去過。


你修掉一個 TypeScript 錯誤...

卻又解鎖了十二個新錯誤。

像某種成就系統一樣。


你盯著一個型別錯誤看了 20 分鐘,然後心想:

「我知道我的意思是什麼,為什麼 TypeScript 不知道?」


你寫了:

as any

然後感到有點羞愧。


🤝🏻 愛恨交織的關係

你整天都在抱怨 TypeScript...

但在用純 JavaScript 開發時卻感到完全迷失。


你把一個型別註解移掉,只是為了「簡化事情」。

TypeScript 強烈不同意。


你花在設計型別上的時間,比真正寫商業邏輯還多。


你看著一個泛型型別,心想:

「這是誰寫的傑作?」

然後發現是六個月前的你自己。


你看著另一個泛型型別,心想:

「這是誰寫的噩夢?」

還是你。


你把某個東西標成 string | number | null | undefined

因為人生本來就很複雜。


🧠 進階開發者時刻

你打開一個檔案,看到:

type Result<T extends keyof U, U extends object>

然後立刻把檔案關掉。


你花了一小時跟 TypeScript 奮戰。

最後才發現它從頭到尾都是對的。


當 IDE 終於不再顯示紅色波浪底線時,你開心地慶祝。


你在某一處重新命名了一個屬性...

然後看著 TypeScript 幫你避免弄壞二十個檔案。

那一瞬間,你真的心懷感激。


你在專案裡加了嚴格模式。

然後發現了一些你其實不想發現的事情。


你太常用自動完成了,以至於現在手動打完整屬性名稱都覺得怪怪的。


🚨 緊急解法

你寫了:

// @ts-ignore

然後希望沒人注意到。


你寫了一個複雜到讓未來的自己還需要文件才能看懂的型別。


你把 TypeScript 錯誤貼到 Google。

結果答案裡的 TypeScript 甚至比原本的錯誤還多。


你在同一次除錯過程中說過:

「型別是對的,程式碼是錯的。」

以及

「程式碼是對的,型別是錯的。」


你終於修好一個 bug...

才發現 TypeScript 在兩天前就已經提醒過你了。


🎯 所以... 你正式算是 TypeScript 開發者了嗎?

如果你讀到這份清單,並且每隔幾行就忍不住點頭...

恭喜!🥳

你正式是一名 TypeScript 開發者了。

你大概也曾經:

  • 在沒人注意的時候加上 any
  • 和一個後來證明是對的型別爭論
  • 花在修型別上的時間比寫功能還多
  • 在紅色波浪底線終於消失時開心慶祝

而且儘管你一直抱怨...

你其實還是偷偷愛著 TypeScript。

因為做過夠多專案之後,你就會發現:

TypeScript 不是想毀掉你的一天。

它是在阻止未來的你毀掉它 😄


💬 換你說

你做過最像「TypeScript 開發者」的事是什麼?

我投給:花了 30 分鐘建立一個很漂亮的型別...

結果那個物件其實只有兩個屬性 😅


感謝閱讀!🙏🏻 <br/> 希望這篇對你有幫助 ✅ <br/> 請按個反應並追蹤以獲得更多內容 😍 <br/> 由 Hadil Ben Abdallah 用 💙 製作 LinkedIn GitHub Twitter

https://dev.to/hadil


原文出處:https://dev.to/hadil/youre-a-real-typescript-developer-only-if-1d9o


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝6   💬2  
339
🥈
我愛JS
💬1  
3
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
📢 贊助商廣告 · 我要刊登