星期五,从中午三点到晚上11点,我和优优一直pair学习NodeBB中,一个topic的走向,我们从前端代码中找到我们在页面上编辑的topic,然后我们在源码中使用console.log()输出我们猜想的数据,结果真的找到了我们新建的topic,终于在/public/src/ajaxify.js 中输data后,在浏览器开发者工具中得我们新建的topic,这么就的研究,仿佛终于得到一点继续去追踪data从哪儿来,到哪儿去的信心!
点击一个topic进去之后的会输出该topic下面的所有回复:
然后我们一步一步的在代码中去根据数据的流向,逆推,最后在从前到后,到数据库的存储,如下图:
以下就是新建一个topic,然后根据数据流向,从页面的输入到存储到数据库中的验证:
在这个数据流向追踪的过程中,还有很多细节地方我们还不懂的地方
过程回顾
这个过程真的很痛苦,好多次我们都是找到一点儿眉目,又断了线索,对项目的架构也不是很熟悉,一开始不知道它使用的是websocket,所以代码中有很多关键地方都看不懂。然后在老师指点下,我们又去学习了解了websocket,以及她的使用,然后又回到源码中来研究。。。。好心累,真的代码结构挺复杂的,很多地方不懂,然后我就死马当活马医,既然怎么也看不懂代码,那么我们就根据代码的逻辑结构去找数据流向,比如函数的调用,传参等,都是突破口,就从这里,我么杀出一条血路来,尽管还是不懂代码,但是大致的方向我们还有一点儿眉目,细节方面后续有能力会继续去研究!
总结
- 遇到问题不急躁,学会变通. 比如我们这个过程多次无出路,但是我们不断的调整自己的思路,最后在不理解代码的情况下杀出一条路来
- 要善于结合自己所学过的知识去分析问题