看板 Soft_Job 關於我們 聯絡資訊
※ 引述《TonyQ (得理饒人)》之銘言: : 是說應該要定義什麼是好什麼是爛, : 我是覺得啦, 能解決問題叫好, 不能解決問題叫爛. : 程式只是工具, 人才是決定 code 是不是垃圾的載體. 不太認同, 如果今天的task是計算1加到10000 從紙上開始 1 + 2 + 3...一直算到10000可以解決問題 用等差數列的公式也可以解決問題 寫段code直接寫個function讓function可以支援不同的min, max也同樣能解決問題 這些方法都能解決問題?難道他們都是好方法嗎? 回到程式語言, 我相信大部分人都覺得戰語言優劣很無聊 畢竟工程師都有自己偏好 但前端這塊就比較不一樣, 大部分人用JS不是因為喜歡或是適合 而是因為沒有別的選擇 前面在吵的web assembly目前來說生態系還差太遠 看起來它也是以補強而非取代JS為目的 為什麼近年TS開始紅起來 我認為不是像大大說的, 那是能力不足的人在用的 以同是動態語言的Python為例 typing模組不管是語言面和IDE的支援也都越來越完善 我待過的兩間公司也都規定新寫的code能加type hint就要加 不過Python雖是動態語言但卻是強型別, 跟JS還是有差就是了 在5人以上維護的專案中用了TS絕對對開發速度和維護性有顯著的幫助 光是在obj後面.一下就會跑出各種method和argument/return type 就不知道能避免多少低級錯誤和省下查文件翻code的時間了 所以說用TS會拖慢開發速度的人 我真的不知道他是在做什麼神奇的專案需要用到諸多JS的神奇特性 相關的webpack config也只要設定一次, 何樂而不為呢 當然你可以說, 只要平常規範足夠好, 大家團隊意識夠強 加上每個人記憶力超凡, 寫過的每個function是做什麼的都不會忘 每個人都是完美的JS programmer不會踩到一些不該踩的坑 那當然用JS也不會有太大問題 但我們都知道, 人 是一定會犯錯的 的確, TS不能解決所有問題, 但要把這鍋推給TS就有點詭異了 這個邏輯有點像:「反正用了也只是從30分到60分, TS真糞」 TS本來就是以盡量不破壞JS原有特性下改進JS的可讀性 拿any來說, 敝公司的tsconfig中是有設定nonImplicitAny 新寫的code中要用上any也必須給reviewer足夠好的理由 在prototype偷塞東西這種事情也是沒事不會做 除了一些很底層的模組, 例如支援mixin之類的 不要因一時貪圖方便造成後續難以維護 我認同大大說的, 的確沒有辦法控制整個世界照我們想要的規矩走 但這不是我們不能在力所能及的範圍內做到最好的藉口 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 58.114.218.170 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1605503287.A.B73.html ※ 編輯: as30385438 (58.114.218.170 臺灣), 11/16/2020 13:09:47 ※ 編輯: as30385438 (58.114.218.170 臺灣), 11/16/2020 13:11:29 ※ 編輯: as30385438 (58.114.218.170 臺灣), 11/16/2020 13:15:25
alihue: 推推,一些地雷在語言就應該設計好防呆掉,不是語言spec 11/16 13:47
alihue: 寫爛了回來嗆開發者不夠熟語言 11/16 13:47
testPtt: 其實很多語言寫爛了直接在後面版本叫你不要用舊的寫法 11/16 13:53
CoNsTaR: 推,說實話,連自己寫的 function 的 type 是什麼都搞不 11/16 13:57
CoNsTaR: 清楚的人才是真的能力不足 11/16 13:57
sharku: 推這篇 11/16 15:21
LERICAL: 推 11/16 16:19
maik060: 推 11/16 20:28
viper9709: 推這篇 11/18 00:53
zxcasdjason1: 推言簡意賅 11/18 01:43
jack529: 團隊開發用JS真的是災難 11/18 08:36