日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

[译文]过犹不及,别再在编程中高射炮打蚊子

發(fā)布時(shí)間:2023/12/2 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [译文]过犹不及,别再在编程中高射炮打蚊子 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原文鏈接:Anyway,stop recommending bazookas to kill flies in programming.

眾成翻譯地址:過(guò)猶不及,別再在編程中高射炮打蚊子

譯者注:翻譯這篇吐槽的文章,主要是為了自省~日常工作中確實(shí)會(huì)犯類似的錯(cuò)誤,不單是解答別人的時(shí)候,自己選擇對(duì)應(yīng)工具時(shí),也是趨向于熟悉的而不是合適的。避免濫用框架與盲目引入類庫(kù),與諸君共勉~


在編程的社區(qū)中,有些現(xiàn)象讓我感到十分困擾。(為了更好地闡述我的觀點(diǎn),)我將以 Vue 作為例子,盡管這同樣存在于其他編程領(lǐng)域之中。

首先,我們一起來(lái)看看問(wèn)題的根源。

在編寫(xiě)代碼時(shí),可能會(huì)遇到一些問(wèn)題,自然想(前往社區(qū))尋求幫助。此時(shí),你會(huì)迫切地想得到問(wèn)題的解決方案。然而,我對(duì)部分的問(wèn)題回答者保留意見(jiàn)。他們鼓吹提問(wèn)者切換工具、類庫(kù)或者整個(gè)框架,而不是根據(jù)實(shí)際情況提供一個(gè)恰到好處的解決方案

部分回答者不會(huì)嘗試去了解你所遇問(wèn)題的背景。他們會(huì)建議你去用高射炮,盡管你只想殺的 bug 是只蚊子

這實(shí)在是答非所問(wèn)!比如我在烤一個(gè)蛋糕時(shí),問(wèn)你:

我正在烤一個(gè)蛋糕,烤箱應(yīng)該設(shè)置多少度呢?

我期待的答案是告訴我應(yīng)該設(shè)置什么溫度,然而回答卻并非如此:

別烤蛋糕了,你做過(guò)沙拉嗎?

在社區(qū)中類似的場(chǎng)景比較常見(jiàn)。我不是想指責(zé)什么,但這并不是一個(gè)好現(xiàn)象。我剛接觸編程時(shí),也經(jīng)常犯這個(gè)錯(cuò)誤。但之后我意識(shí)到這并不對(duì)。

我并不是說(shuō)換一個(gè)工具就不能解決問(wèn)題,我的意思是:需要了解問(wèn)題的需求與背景

與其建議對(duì)方用自己正在用的,不如在了解背景之后,提供一個(gè)恰到好處的解決方案。不要因?yàn)槭煜つ稠?xiàng)技術(shù),就不斷慫恿他人使用。

那么,Vue 的社區(qū)有什么問(wèn)題呢?

在 Vue 的社區(qū)中,無(wú)論是在 Facebook、論壇還是 Discord,只要涉及到處理 state 或者 SEO 的問(wèn)題,回答者經(jīng)常在詢問(wèn)提問(wèn)者項(xiàng)目的規(guī)模之前,就給出一樣的回答。

提問(wèn)者:我 Vue 的項(xiàng)目中碰到一點(diǎn) SEO 問(wèn)題 […] 我該怎么辦呢?

回答者:你嘗試過(guò) nuxt 嗎?

這并不是好的答案?如果提問(wèn)者的項(xiàng)目中并未使用 nuxt,回答者首先應(yīng)該根據(jù)提問(wèn)者的項(xiàng)目背景提供解決方案,而不是建議他直接去使用 nuxt。

不要誤會(huì),我喜歡 nuxt,nuxt的作者是法國(guó)人,而我一向法國(guó)兄弟的好哥們。我的觀點(diǎn)是:nuxt 并不是在 Vue 項(xiàng)目中解決 SEO 的唯一方案。

遷移到 nuxt 并不是一件簡(jiǎn)單的事情,nuxt 有自己的架構(gòu),如果和現(xiàn)在的架構(gòu)不兼容時(shí),遷移的成本并不低。

因此,告訴提問(wèn)者:“用 nuxt 就好”,實(shí)在不是好的解決方案。這和只建議人們使用 prerender-spa-plugin 或其他工具是一樣的。

提問(wèn)者:有兩個(gè)組件,我想讓他們共享狀態(tài),我該怎么做呢?

回答者:用 vuex 就好。

vuex 是兩個(gè)組件共享狀態(tài)的唯一方案嗎?顯然不是!

我也十分喜歡 vuex,我在項(xiàng)目中經(jīng)常使用它,但 vuex 在小的項(xiàng)目中,實(shí)在是大材小用。先了解背景與需求,再去回答對(duì)應(yīng)的問(wèn)題!

在 Vue 中,要共享狀態(tài),至少有三種不同的解決方案:共享一個(gè)響應(yīng)式的對(duì)象、Event Bus、Vuex。 https://vuejs.org/v2/guide/state-management.html#Simple-State-Management-from-Scratch

除非是提問(wèn)者要求的,不然在推薦一個(gè)新工具之前,應(yīng)該先去了解問(wèn)題的背景。

雖然我十分喜歡 Vue,但如果有人問(wèn)我:我在登錄頁(yè)中應(yīng)該使用什么呢?。我不會(huì)直接告訴他:使用Vue。我會(huì)先詢問(wèn)他,在頁(yè)面中要實(shí)現(xiàn)什么功能。

以上只是冰山一角

這只是一點(diǎn)抱怨。我之前也經(jīng)常這么做,但我覺(jué)得這只是將自己喜歡的強(qiáng)加于對(duì)方,但并沒(méi)有解決提問(wèn)者的問(wèn)題

Have a nice day~編程是一件美好的事情。

最后:不少人在 reddit 上談?wù)?XY 問(wèn)題。如果提問(wèn)者一開(kāi)始就使用了不合適的工具,那么推薦新的工具并沒(méi)有任何問(wèn)題。我指的高射炮愛(ài)好者,是那些在不了解背景的情況下就直接推薦的人。

總結(jié)

以上是生活随笔為你收集整理的[译文]过犹不及,别再在编程中高射炮打蚊子的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。