<< ..
201806新学得新知识点
发布时间:近期有一位特别重要的同事要离职了。有多重要呢?就是我心目中有那么几个人,就是迟早要超越的,但是迟迟不知道能否突破的。等我能超过他们那天起,算是自己的一个里程碑。
然后离职的同事部分工作需要交接给我,需要在短期内读懂并接受她的交接代码。是一些”神奇的”脚本。这其实是一场快速阅读源码的挑战,这里总结一些方法和遇到的知识点。
阅读源码的舒服的环境
- 首先是IDE,选择IDE的重要原因是可以依据IDE的提示信息看到一些明显的非代码逻辑以外的问题。
- Dash 面对未知的库,需要一个快速查阅的手册集合。并且结合IDE可以做快速跳转。
- MindNode 第一次阅读源码的时候,并不需要读透彻,而是借助思维导图摸清楚调用链
- 清单工具 将阅读过程中的问题简单记录下来,可以写下任何东西,但一定是条目形式,方便回溯
- git branch 新建一个专门阅读用的分支
- 用#TODO #FIXME 在源码中标注想记录的信息
项目交接的感受
- 一般离职周期是1个月,这意味着可能需要一个月内交接人家数年的工作,从逻辑上讲是不现实的。
- 交接成本如果大于重构成本,真心可以考虑一下重构,但是重构又会带来一系列问题。
- 代码写得太毒怎么办?各种黑魔法,各种一眼看不穿的逻辑,各种精巧应用。自己尝试逐个破解,其次还需要趁未离职前多问多思。逻辑再黑,终究不可能是反逻辑的。如果觉得难,一定是问题拆分的不够简单。
- 是谁给你不联网不google就敢写代码的勇气?Dash。
- 脑子乱的时候怎么办?立即站起来去做其他事情,哪怕去喝杯水。