这个要看源代码质量如何了,如果质量很差,那没办法,很难~~
如果质量很好,个人认为要按Top-Down的方式来看:
1. 了解需求
2. 看项目结构,一般项目结构会体现中系统结构上的层次,并根据经验和项目命名猜测作者的设计思想
3. 然后展开项目看目录,同样,根据经验和目录命名猜测作者的设计思想,例如,如果看到一个目录为Caching,那它就是和缓存有关,若是Data,则可能和数据访问有关,在你看目录的时候,就都是看目录,不要去看其中的类的实现细节
4. 然后展开目录浏览文件,根据文件名猜测该文件是做什么用的,对于部分感兴趣的文件可打开看详细,但大部分暂不用看那么细
5. 通过以上几步,对项目的整体构造应该有了一些了解,这时可以随手找一些接口、抽象类走马观花式的查看,不用太细,只为加深一点理解和印象
6. 然后找一个入口点,比如界面上的某个操作,通过代码看他大概调用了哪些文件,如果这件代码中嵌套调用了其它接口、类和方法,则先不用看嵌套调用的那些,先只看当前文件,比如现在在看一个名为CreateOrder()(创建订单)的方法:
public void CreateOrder(...) { if (IsValidUser(user)) { var orderId = OrderIdGenerator.GenerateId(); var order = new Order(orderId); ... } }
其中嵌套调用了IsValidUser(),GenerateId()这两方法,但我们先不用去看它们的细节,因为从名字上看,就已经可以知道它是在验证用户,生成一个OrderId,当前的目标就是了解CreateOrder,看完了CreateOrder,才再考虑是否再看看GenerateId()的细节以了解Id的生成方法。
综上所述,原则上是采用至顶向下的方法,一层一层往下剖析,在看上层时,先不用太了解下层的细节,例如,看目录时就是看目录,不用马上打开里面的类看实现细节(也可以说我们要采用广度优先的方式查看代码,而不是深度优先:-))。一般也不用看到最底层,因为项目的开发过程中会慢慢了解底层细节,一般了解了大体结构就可以接手开始做了。
菜鸟学习了! 谢谢分享经验!
右击->转到定义
项目,
1\先了解业务;
2\结合业务整理数据库
3\结合业务将系统流程走一遍
4\结合代码,数据库,业务进行全面了解.
工具方面:
可以借助Recharper进行看,主要功能:转到定义,转到实现,找到文件在解决方案中的目录位置,快速找到项目中的文件等.
我的习惯:
1、如果能跑就跑一跑,熟悉它;
2、看各个项目的名字,猜测用途和架构;
3、对不明白的地方再深入了解,用的多的也是Find impl , find declear
看功能,了解整体结构,看类图,读具体主功能代码。
1.摸清数据库的表结构
2.看功能
3.最后是界面
调试,了解表结构,了解业务
从最底层往上看,转到定义。
先自己要修行到一定火候,然后再谈其他。