拿来主义与实证精神

由于工作原因,最近经常需要调研业界方案,因为很多很多东西没有必要重复造轮子,如果别人已经把问题解决了,那么直接使用是没啥问题的,这大概就是所谓的拿来主义。

其实纵观历史,尤其是近代,拿来主义其实不少,马克思主义、列宁思想其实都算是拿来主义。但拿一定要拿的清清楚楚,因而才有了毛泽东思想、邓小平主义等等。

我觉得其中有一个很重要,但是没单独提出来的东西,叫实证精神。毛说,实践是检验真理的标准。邓说,实践是检验真理的唯一标准。

实证,其实可以认为是带着目的的实践。实证,对于做技术也很重要。

譬如最近调研了一个宣称可以通过复用engine提升内存效率的库,但是实测之后,发现效果比不复用还差。 这是该方案的效果:

flutter boost

多轮测试之后内存达到200多M,而啥也不做也才130多M: official 1.17

这明显有悖这个库的初衷。于是我就提了一个issue:

但是,十多天过去了也没得到回复。

我想这个库大概率是不会维护了,因为他的设计导致他很难跟上官方版本的更新,就不再展开讲了。

另外还有一个经历也挺类似,自己有一个诉求就是把某个UI框架的资源动态化,于是调研了一番,发现有一篇文章挺有意思,分析了该UI框架的底层代码是如何获取资源了,于是直接改了那行代码,指向了一个自己的可更新的路径。

由于这种修改我是比较不赞同的,带来的直接问题就是后续同步官方更新的问题。那么有没有不需要修改底层代码就实现动态化的方案的,是有的。但是需要更深刻的理解该流程。

有时候,我觉得没有方案,比有一个错误的方案更好。

当没有方案的时候,我们还能被迫去思考、探索,那如果已经有了一个方案,但他的做法又是不合理的,就会误导很多人放弃追寻哪个最佳答案,而只停留在了拿来主义的第一个层面。

当然了,我相信这个世界上是有很多牛人了,可能一眼就看到了问题的本质,而给出了更好的方案,或者说更适合自己的方案,因为,他们知道实证。