在编程的社区中,有些现象让我感到十分困扰。(为了更好地阐述我的观点,)我将以 Vue 作为例子,尽管这同样存在于其他编程领域之中。
首先,我们一起来看看问题的根源。
在编写代码时,可能会遇到一些问题,自然想(前往社区)寻求帮助。此时,你会迫切地想得到问题的解决方案。然而,我对部分的问题回答者保留意见。他们鼓吹提问者切换工具、类库或者整个框架,而不是根据实际情况提供一个恰到好处的解决方案。
部分回答者不会尝试去了解你所遇问题的背景。他们会建议你去用高射炮,尽管你只想杀的 bug 是只蚊子。
这实在是答非所问!比如我在烤一个蛋糕时,问你:
我正在烤一个蛋糕,烤箱应该设置多少度呢?
我期待的答案是告诉我应该设置什么温度,然而回答却并非如此:
别烤蛋糕了,你做过沙拉吗?
在社区中类似的场景比较常见。我不是想指责什么,但这并不是一个好现象。我刚接触编程时,也经常犯这个错误。但之后我意识到这并不对。
我并不是说换一个工具就不能解决问题,我的意思是:需要了解问题的需求与背景。
与其建议对方用自己正在用的,不如在了解背景之后,提供一个恰到好处的解决方案。不要因为熟悉某项技术,就不断怂恿他人使用。
那么,Vue 的社区有什么问题呢?
在 Vue 的社区中,无论是在 Facebook、论坛还是 Discord,只要涉及到处理 state 或者 SEO 的问题,回答者经常在询问提问者项目的规模之前,就给出一样的回答。
- 提问者:我 Vue 的项目中碰到一点 SEO 问题 […] 我该怎么办呢? - 回答者:你尝试过 nuxt 吗?
这并不是好的答案?如果提问者的项目中并未使用 nuxt,回答者首先应该根据提问者的项目背景提供解决方案,而不是建议他直接去使用 nuxt。
不要误会,我喜欢 nuxt,nuxt的作者是法国人,而我一向法国兄弟的好哥们。我的观点是:nuxt 并不是在 Vue 项目中解决 SEO 的唯一方案。
迁移到 nuxt 并不是一件简单的事情,nuxt 有自己的架构,如果和现在的架构不兼容时,迁移的成本并不低。
因此,告诉提问者:“用 nuxt 就好”,实在不是好的解决方案。这和只建议人们使用 prerender-spa-plugin 或其他工具是一样的。
- 提问者:有两个组件,我想让他们共享状态,我该怎么做呢? - 回答者:用 vuex 就好。
vuex 是两个组件共享状态的唯一方案吗?显然不是!
我也十分喜欢 vuex,我在项目中经常使用它,但 vuex 在小的项目中,实在是大材小用。先了解背景与需求,再去回答对应的问题!
在 Vue 中,要共享状态,至少有三种不同的解决方案:共享一个响应式的对象、Event Bus、Vuex。 https://vuejs.org/v2/guide/state-management.html#Simple-State-Management-from-Scratch
除非是提问者要求的,不然在推荐一个新工具之前,应该先去了解问题的背景。
虽然我十分喜欢 Vue,但如果有人问我:我在登录页中应该使用什么呢?。我不会直接告诉他:使用Vue。我会先询问他,在页面中要实现什么功能。
以上只是冰山一角。
这只是一点抱怨。我之前也经常这么做,但我觉得这只是将自己喜欢的强加于对方,但并没有解决提问者的问题。
Have a nice day~编程是一件美好的事情。
译文出处: https://www.zcfy.cc/article/anyway-stop-recommending-bazookas-to-kill-flies-in-programming
共同学习,写下你的评论
评论加载中...
作者其他优质文章