中国领先的IT技术网站
|
|

挨踢部落故事汇(21):半路接手项目有多难?教你做个接盘侠高手!

作为一个程序员,喜欢浏览知乎这样的知识分享平台来拓宽视野。发现经常有人在提这样类似的问题,例如如何快速接手熟悉一个项目(从代码角度)?新人如何快速上手项目?

作者:51CTO开发者交流群来源:51CTO|2017-06-28 09:55

【51CTO活动】8.26 带你深度了解清华大学、搜狗基于算法的IT运维实践与探索


【51CTO.com原创稿件】被无数烂尾项目折磨的哈韩浪子,一直从事JavaEE开发,踩过的坑无数,承接别人的项目也有几个。新人或者刚入职的程序猿,都会面临一个问题,如何快速接手熟悉项目?本期挨踢故事汇哈韩浪子教你做个快乐的接盘侠高手。

哈韩浪子•JavaEE开发

哈韩浪子·JavaEE开发

半路接手项目被吐槽

作为一个程序员,喜欢浏览知乎这样的知识分享平台来拓宽视野。发现经常有人在提这样类似的问题,例如如何快速接手熟悉一个项目(从代码角度)?新手如何快速上手项目?

透过题目,哈韩浪子能感受到提问者那渴望求知的眼神,他看了问题底下的评论,大家都没有给出方法,而是变成了吐槽。

吐槽选登:

A:要么忍要么滚+10086,心理一万个草泥马还得面带微笑。

B:刚毕业就进了这样一个项目,现在盘算着吃饱经验滚球了。

C:太多了。。。专业擦屁股户 ,再熬到年底,准备跑路了。爱谁擦谁擦吧。

D:我以前也可怂,领导给我安排工作,我好多次都默默接受了。昨天真的是爆发了,凭什么我好说话所以次次都是欺负我?真的是兔子急了还咬人的感觉,冲到领导办公室辩论,平时领导觉得我不怎么争论,昨天真是辩论赛水平,有理有据。

领导:考虑到你的能力,我们特意给你了一个标杆项目让你去做维护,你一点都不知道感恩。

程序猿:项目交接文档缺失,项目业务代码混乱,项目一直没有确定边界,导致现在需求膨胀。这个项目也是标杆?

领导:这些都不是问题,你看你要是把这些问题都处理好,不就正好体现出你的能力了啊,你看这是一个多好的锻炼机会啊。

程序猿:你瞎说,据我所知你在例会上可不是这么说的(一般都是项目组领导参加,程序员没资格参加)。你说的是处理好这个项目是应该的,处理不好就是能力差。

领导正色道:我就是给你一坨屎你也要开心的吃下去,不然你可以走啊,会写代码的满大街都是。

。。。。。。

看到大家这样的吐槽,哈韩浪子感到很难过。因为他也曾经经历过这样一段时期,那时候他还是个愣头青,领导说啥就是啥。但是后来发现柿子还得捏软的,况且就算他退让了领导也不喜欢,一直都是干的多拿的少,就算最后离职还把他的年终奖坑了。

如何接手遗留项目

人生就是在经历中成长,所以哈韩浪子要分享一下接手项目的经验,做一个快乐的接盘侠。那么我们应该如何接手遗留项目呢?

1、接手前的准备

接手前,先要了解一下这个项目目前的状况,可以咨询主管这个项目的领导,当然如果这个领导忽悠你,跟你说这个项目是标杆,或者说这个项目怎么怎么的好,那么你就要多思考一下是不是一个坑了。这个时候你就需要领导提供项目的bug修改单或者是需求变更单,这样大致能客观的展现出项目存在的问题。如果bug单里修改的东西很多,或者需求变更频繁,那么就不建议再接手这个项目了,不然最后难受的是自己,你把烂尾项目处理好了,是应该的,处理不好就是你能力差,其他同事也是站着说话不腰疼的去挤兑你。如果项目的bug单和需求变更单不是很频繁,这个项目还是可以接手的。

2、接手后的第一件事情

立即着手使用项目,把项目的流程先跑通,然后了解项目的设计目的,因为这些内容就好比是一个灯塔,能在大方向上给你指明道路,并帮你将代码片段串联起来,把一个功能点的代码从数据层,service层,到controller层理出来,做到能快速定位相关位置,还有每一层之间与项目相关的配置文件的熟悉,例如有定时任务配置文件,加解密配置文件等,从而形成一个整体。我们要记住越是复杂的项目,其目的和设计占的比重越是重要。

3、把项目拆解,编写自己的项目文档。

项目难,往往是因为不了解,看着一大堆东西,心理上首先就有压力。一定要顶着压力往前走,把项目分模块的去了解,通过代码去理解业务,一个系统一定有使用频繁的模块和非使用非频繁模块,这个可以通过给客户的使用手册里去了解。如果项目缺失具体的设计说明书,那么就需要看相关功能代码是怎么写的,通过了解代码和使用项目来了解业务流程。

同时要学会编写文档,主要是让自己好理解这个项目。因为你接手了这个项目,那么意味着项目再出什么情况都的由你自己承担。哪怕出现的问题是由于项目设计,或者开发期产生的,也得由你承担。因为编写文字不像说话,耗费的时间会多一些,在打字的过程中,我们会花费心思去组织语言和思考,这会让我们发现更多项目上的问题。

4、进入维护状态

当我们了解了项目的业务和相关的代码,就算正式接手了项目,可以开始处理项目中的实际问题,同时我们要养成每天下班把生产日志拿来看一下,看看项目中是否存在潜在的问题,比如内存开销过大,死锁等问题。

  • 看日志主要看error日志,确定所呈现的bug是紧急还是非紧急的。紧急的,立即就要着手去修复。同时要写邮件抄送给相关领导。(不然你把问题处理好了,领导也认为你没有工作量)
  • 查看服务器的CPU,内存等开销。这个不必天天进行。
  • 写一些SQL脚本,来检测数据库表里是否出现了数据重复,垃圾数据。主要防出现SQL注入等问题。

【写在最后】

唯有经历过以上所有步骤,我们才能成为一个专业的项目接盘侠,然后开心快乐的成长,对于之前负责项目里给你留的坑也好,bug也罢,我们应该当然选择原谅他!

如果你也愿意分享你的故事,请加51CTO开发者QQ交流群 312724475联系群主小官,期待你精彩的故事!

51CTO开发者交流群②群 312724475

【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

【编辑推荐】

  1. 挨踢部落故事汇(16):技术人疲倦期的最佳实践
  2. 挨踢部落故事汇(17):我与永恒之蓝战斗的两天两夜
  3. 挨踢部落故事汇(18):程序猿与代码的基情
  4. 挨踢部落故事汇(19):转行做IT技术,你怎么能不知道这些事情?!
  5. 挨踢部落故事汇(20):Android程序员的十大转型之路
【责任编辑:何星 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢
24H热文
一周话题
本月最赞

热门职位+更多

读 书 +更多

SQL Server 2005数据挖掘与商业智能完全解决方案

本书以BI解决方案的体系结构为中心,以SQL Server 2005为载体,将着眼点放在数据挖掘和商业智能上,详细讲解了数据报表、数据分析和数据挖...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× Python一种神奇的语言