当前位置: 首页 > Web前端 > HTML5

过火了,别再编程用高射炮打蚊子了

时间:2023-04-05 21:31:43 HTML5

在编程界,有一些现象很困扰我。(为了更好地说明我的观点,)我将使用Vue作为示例,尽管这也存在于其他编程领域。首先,让我们来看看问题的根源。在写代码的时候,可能会遇到一些问题,自然要(去社区)寻求帮助。这个时候,你会渴望得到解决问题的办法。不过,我对某些答疑者持保留态度。他们提倡提问者切换工具、类库或整个框架,而不是根据实际情况提供合适的解决方案。一些受访者不会尝试了解您遇到的问题的背景。他们会建议你去攻击,即使你唯一想杀死的虫子是一只蚊子。这真的无关紧要!比如我在烤蛋糕的时候,我问你:我在烤蛋糕,烤箱应该设置多少温度?我期待的答案是告诉我设置什么温度,但答案不是:停止烤蛋糕,你做沙拉了吗?类似的场景在社区中屡见不鲜。我不是想指责,但这不是一个好兆头。当我刚接触编程时,我经常犯这个错误。但后来我意识到那是不对的。我不是说换个工具不能解决问题,我的意思是:你需要了解问题的需求和背景。与其建议对方使用他们正在使用的东西,不如在了解背景后提供适当的解决方案。不要仅仅因为你熟悉某项技术就一直鼓励别人使用它。那么,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中,要共享状态,至少有三种不同的解决方案:共享响应式对象、EventBus、Vuex。https://vuejs.org/v2/guide/state-management.html#Simple-State-Management-from-Scratch除非提问者要求,否则在推荐新工具之前,您应该了解问题的背景。尽管我很喜欢Vue,但如果有人问我:我应该在登录页面中使用什么?.我不会直接告诉他:使用Vue。我会先问他在页面中实现什么功能。以上只是冰山一角。这只是一个小小的抱怨。我以前做过很多这样的事情,但是我觉得只是把自己喜欢的东西强加给对方,并不能解决提问者的问题。祝你有美好的一天~编程是一件美好的事情。最后:reddit上有不少人在讨论XY问题。如果提问者一开始使用的是不合适的工具,那么推荐一种新工具并没有错。所谓的高炮爱好者,我的意思是那些在不了解背景的情况下就推荐的人。