1 了解业务
- 系统所在行业?
- 系统是做什么的?
- 系统主要面向的人群是谁?
- 主要提供了哪些功能?
- 系统设计的关键业务流程是什么样的?
- 项目面临的挑战是什么?
- 项目未来规划是什么?
2 搭建环境
- 从readme.txt开始入手
3 看项目技术架构
- 看相关依赖,比如:pom.xml或者build.gradle
- 项目最底层的框架是什么?Sping?还是其他什么框架?
- 项目依赖了什么包?数据库用的Mybatis?JPA?还是自研?
- 使用了什么数据库?Oracle?SqlServer?MySQL?
- 项目使用缓存了没有?Redis?本地缓存?
- 项目用到了消息队列么?Kafka?RocketMQ?
- 项目的权限管理怎么做的?
4 看项目的代码架构
- 项目结构?单体项目?分层项目(MVC)?分布式?微服务?
- 如果是DDD分层,
- User Interface(用户界面层)
- Application(业务操作)
- Domain(模型层)
- Infrastructure(基础实施层)
5 从功能主线/问题出发研究项目源码
- 不需要完完整整看完所有源码
- debug调试,推荐通过一个功能或者问题出发