​屎山应对指南:怎么快速上手一个自己不熟的新项目?

362 阅读4分钟

对于身在职场的程序员们来说,骑驴找马,加薪跳槽可能已经是家常便饭。

而跳槽后将面对的第一个难题,就是要面对屎山。

图片

大部分程序员,在面对这种情况,通常有两种选择。

要么避其锋芒——修修补补边缘功能,避免触及核心代码,进而惨被屎山教做人。

要么坐以待毙——赶鸭子上架,周一入职,周二上线,周三事故通报,周四last day+知无不言……

图片

猜猜其中有多少背锅的程序员?

难道面对屎山真的就束手无策?

并非如此。

你或许见过,总有些资深的程序员,他们即使半路加入项目,在最初几天还在询问业务问题,却可以在几周后迅速掌握项目情况,转而开始指导其他更初级的开发人员。

这当然不是因为他天生神力,而是因为他已经从过往经验里面总结出来一些套路了。

那么套路是什么呢?

01

首先,要牢记两点:

第一,绝大部分业务系统,不管后端是oracle、mysql、nosql还是内存数据库,也不管前端是web、h5、winform、android还是ios,它的核心功能都是由增删改查组成然后通过通信、运算和人机交互串起来的, 系统的复杂度主要体现在系统规模、性能、稳定性、业务流程、通信等方面。(部分工具类、基础架构类系统可能存在不同)

第二,绝大部分系统,不管是基于Java、.NET、C++还是Nodejs技术,都是遵循某种或几种设计模式分层进行开发的, 最最常见的也就是MVC了。其他请参考设计模式教程。

确认了这两点,就能保证你在接下来的道路上,方向是正确的,不会把简单的问题复杂化。

02

那么如何快速熟悉新的项目呢?

可以从以下套路入手:

1.先搞清楚新的系统是搞什么的。

“谁在用这个系统?用这个系统要做什么?“梳理完问题后,自己根据问题看文档或者问同事找答案。

2.弄清楚系统是怎么分层、分模块的,每层、每个模块都用到了什么技术和框架,之间是怎么通信的。

有架构设计文档的话学习一下最好,没用过的技术先查查资料知道个大概。

3. 搭建开发环境,通过几个典型的功能弄清楚系统里面增删改查、通信、用户交互是怎么实现的。

最简单的方法是根据系统的分层,先从前端到数据库把代码疏通一下,搞不清楚的话打开debug模式一步一步走一下。

经过上面三个步骤,恭喜你,已经对当前项目有初步了解了,也能从这里开始改几个bug和加功能了。

后续可以重点关注那些没用过的技术和组件:先搞清它的目的、背景、实现原理和功能列表,再照着文档做几个demo,平常工作时把它的文档建个快捷方式,随手查询学习一下。

03

在接手新项目时,还有哪些需要注意的事项吗?

1.如果是规模比较大的系统或系统集合,不用过于焦虑,把自己平时接触最多的模块摸透了就可以。

2.开发过程中,绝大部分自己遇到的问题,其他人都已经遇到并解决了,通常都有现成的解决方案,善用搜索。

3.老系统中有很多可以学习借鉴的内容,同时也有很多坑,最好不要随意修改已有的代码。


不过,以上套路仅适用于公司流程正规,有文档留存的。如果你接手的项目不幸没有文档,也不了解使用了哪些技术,代码也没有注释……

那就自己悟吧,少年!

考验你真正实力的时刻到了!

图片

-END-

图片