科研工作流
做科研时,先要明确目标:发论文或做出对人类有意义的学术成果?虽二者会有重叠,但需要承认,大部分人做的,都是无意义的垃圾。我认为,当目标是前者,需着重提升工程能力;是后者,需提升发现好问题的能力。这并非代表是后者时,工程能力不重要,只是相对于提出好问题来说,它没有那么重要。而是前者时,提出问题又无比简单 —— 你只需提出别人没提过的问题就好。故相对于工程能力,它反而显得没那么重要。
因此,我建议绝大部分科研工作者,应着重于提升自己的工程能力。我见过北大同学的开源代码一塌糊涂,还记得那个项目是入门科研时上手的,花了一周来配置 Python 依赖,至今是噩梦。所以,大家在进行科研工作时,或许应该先学习 Docker。
但事实并非如此。人在面对自己陌生的领域时,最应该进行的是 BFS 而绝非 DFS;或者换一种软件工程里的说法:快速迭代;或者再换一种直白的说法,什么都不管,干出来就完了。我十分推崇快速迭代的做法,并竭尽全力将这一做法应用到我在面对陌生的、任何事情时。
但我尤其想指出的、也是大部分人的问题:他们只迭代了一次。正如我前面说的那样,BFS 而非 DFS。但人是有惰性的,广搜了第一层就不搜了,后面全用第一次的做法。你可以第一次写一坨狗屎项目,放在 GitHub 上,对着成山的 issue 不管不顾,但不能在第十次写项目时,还是这样。
所以,本系列内容着重于教会你学会 BFS 的第一层和最深层,如果有兴趣的话,跟着我的脚步学习吧。护甲:这只是菜笔的自学笔记,并非科研指南,不当之处欢迎交流。
This post is licensed under CC BY 4.0 by the author.