程序员如何快速上手一个自己不太熟悉的新项目?有什么技巧?
粉丝:汪哥程序员如何快速上手一个自己不太熟悉的新项目?有什么技巧?
程序汪:好的我整理下回复你哈
这是一个高频的问题,任何程序员都会遇到,特别是萌新,网上其实已经有很多大佬整理了经验,这里程序汪也整理下吧
一:带着问题,去研究系统
萌新程序员一般进公司了,领导一般会丢给他一个项目git地址,让你快速熟悉下项目代码,后面好安排你开发任务,安排完领导就忙自己的工作去了,留下懵逼中的萌新程序员。没经验的可能看了半天,都不知道自己看了什么,反正就是脑子懵逼中。
程序汪建议先不急的去看代码,把这些问题思考下
本系统的业务背景是什么?
本系统的作用是什么?
本系统在整个架构中是什么位置?
本系统的数据来源是哪里,最后流到哪里,换句话说就是本系统的上下游系统是什么?(特别是微服务的项目一定要思考这个问题)
有哪些人会操作本系统?(XXX运营妹子)
带着这些问题,去找领导沟通下,基本搞清楚后再去看代码,这样效果更佳。
二:熟悉工程结构,找到系统入口
有些比较复杂的系统,代码入口萌新程序员可能都找不到,这就很尴尬了,这时候需要搞明白系统怎么分模块、分层的,有相关技术文档的,可以找同事要下,历史的需求设计文档也可以研究一个案例,方便快速熟悉系统的技术。极端情况没有注释和文档,口口相传,这种只能硬着头皮看代码了(希望大家没遇到这样的项目吧)
程序汪找了一个开源项目案例,比如可以从架构图以及当前项目的工程结构去快速熟悉系统,然后找到对应的接口入口。
我说的接口入口
架构图
工程结构
SpringBlade
├── blade-auth -- 授权服务提供
├── blade-common -- 常用工具封装包
├── blade-gateway -- Spring Cloud 网关
├── blade-ops -- 运维中心
├ ├── blade-admin -- spring-cloud后台管理
├ ├── blade-develop -- 代码生成
├ ├── blade-resource -- 资源管理
├ ├── blade-seata-order -- seata分布式事务demo
├ ├── blade-seata-storage -- seata分布式事务demo
├── blade-service -- 业务模块
├ ├── blade-desk -- 工作台模块
├ ├── blade-log -- 日志模块
├ ├── blade-system -- 系统模块
├ └── blade-user -- 用户模块
├── blade-service-api -- 业务模块api封装
├ ├── blade-desk-api -- 工作台api
├ ├── blade-dict-api -- 字典api
├ ├── blade-system-api -- 系统api
└── └── blade-user-api -- 用户api Java项目分享
三:项目跑起来,debug走一个
自己搞一个开发环境,注意别乱搞其他人的环境哦,自己找一个核心接口,mock一把数据跑起来,如果是微服务系统切记,问下同事有木有模拟测试工具,一般大公司的微服务接口都是有工具测试的,不用自己瞎琢磨。代码环境都准备OK了,剩下的就是debug一步步跟了。
四:同事关系搞好
特别是进大公司,环境非常复杂,微服务项目子系统太多,测试一个核心流程可能会遇到很多下游系统问题,不是某个开关忘记打开了,就是环境配置有问题
这时候问下同事,可能他1分钟就解决的环境问题,你要debug看一天。
怎么搞好同事关系呢
比如中午吃饭,切记跟同事一起,多聊天混脸熟
自己不忙时,可以主动问下同事需要帮忙吗
也可以主动帮测试妹子看看问题什么的
请老同事吃吃饭或喝喝水什么的
欢迎其他粉丝留言评论分享你的技巧经验
程序汪资料链接
卧槽!字节跳动《算法中文手册》火了,完整版 PDF 开放下载!
卧槽!阿里大佬总结的《图解Java》火了,完整版PDF开放下载!
欢迎添加程序汪个人微信 itwang009 进粉丝群或围观朋友圈
点下方原文链接观看B站视频版本