大神们进来交流一下如何快速的理解现有的代码
日知己所无 2014-07-16 01:51:28 现在的系统都很庞大、修改一处代码总要瞻前顾后的考虑一下对整个系统的影响
而对于庞大的系统而言,自己修改过、完全理解的部分如沧海一粟
大家在工作中如何快速的理解别人做的代码、修改代码时如何考虑对整个系统的影响
一起交流一下吧
先抛砖引玉一下:
最原始的方法莫过于grep,但grep也有很多弊端,比如检索用的关键字得凭借经验来决定,有时不够客观;工作量非常大,一层一层网上找,有时根本没个头儿;找呀找呀又找回来了,像在迷宫中散步似的
比较简洁的办法是在现有的系统中进行一下测试,如果有比较完善的log的话,通过一些工具(有可能得自制),生成出sequence图,可以比较直观的看到系统之间各个模块的调用关系;通过对比正常情况下和特殊情况下的log还能迅速找到产生差别的分歧点;这种方法的困难点在于:事前需要项目组统一好log的输出方式,否则铺天盖地的log也让人无从下手
还有一个问题就是:毕竟测试仅能部分展现代码的运行过程,具体的逻辑还得仔细研究代码才行
当某天,领导给你一份几十万行甚至上百万行的代码时,如何厘清这里面的脉络,是一个程序员必须面对的问题
除了灌水的,尽可能给每位发言的人都分配一些回帖奖励分数
大约在这个月底左右结贴,希望大家踊跃发言,不吝赐教