Re: [討論] 請大家聊聊 JavaScript的缺陷

看板Soft_Job作者 (LCH)時間3年前 (2020/11/16 13:08), 3年前編輯推噓8(803)
留言11則, 9人參與, 3年前最新討論串8/19 (看更多)
※ 引述《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

11/16 13:47, 3年前 , 1F
推推,一些地雷在語言就應該設計好防呆掉,不是語言spec
11/16 13:47, 1F

11/16 13:47, 3年前 , 2F
寫爛了回來嗆開發者不夠熟語言
11/16 13:47, 2F

11/16 13:53, 3年前 , 3F
其實很多語言寫爛了直接在後面版本叫你不要用舊的寫法
11/16 13:53, 3F

11/16 13:57, 3年前 , 4F
推,說實話,連自己寫的 function 的 type 是什麼都搞不
11/16 13:57, 4F

11/16 13:57, 3年前 , 5F
清楚的人才是真的能力不足
11/16 13:57, 5F

11/16 15:21, 3年前 , 6F
推這篇
11/16 15:21, 6F

11/16 16:19, 3年前 , 7F
11/16 16:19, 7F

11/16 20:28, 3年前 , 8F
11/16 20:28, 8F

11/18 00:53, 3年前 , 9F
推這篇
11/18 00:53, 9F

11/18 01:43, 3年前 , 10F
推言簡意賅
11/18 01:43, 10F

11/18 08:36, 3年前 , 11F
團隊開發用JS真的是災難
11/18 08:36, 11F
文章代碼(AID): #1ViWatjp (Soft_Job)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 8 之 19 篇):
文章代碼(AID): #1ViWatjp (Soft_Job)