1. 聚能聊>
  2. 话题详情

新工作 or 开发同事辞职,接手到垃圾代码怎么办?

故事一:
image
遇上这个,你们能淡定自若吗?

这是真的……我一礼拜前刚入职……跟我说的前后端分离……tp+jq……一堆dom看的我脑壳痛
是不是有那种感觉,改了那里,这里不知不觉又出问题了,立马改好了这里,忽然框架崩溃了,这里空指针,那里空指针,无奈只能删了,重新解压备份的zip。其实程序员都是蛮有耐心的。
来,做一下代码检视允悲
pms1.0,pms2.0,现在又有新版本,果断离职了

故事二:
同事离职的时候,跟我说:这块代码已经好几个月没更新了很稳定没啥事。于是我真的以为没啥事,没有认真去看代码。
结果呢,他走了,这块代码天天出问题。每天都有运维、客户跑来让我排查问题,我真是*了。
昨天又有大问题爆发了,领导让我先改改这坨shi。于是我打开ide,代码load出来,整个人都蒙蔽了。
一个成员Bean类成员变量 + get/set 方法有500行 (定义了将近50个成员变量),大哥你就不能用Map来存储一些相似的吗。

互动时间
1、说说你曾经难忘的第一天

2、有没有接手过别人的代码,是怎样的心情

3、万一接手到垃圾代码该怎么办?

参与话题

奖品区域 活动规则 已 结束

  • 奖品一

    淘公仔 x 2

  • 奖品二

    阿里云代金券 x 5

  • 奖品三

    云栖定制鼠标垫 x 3

74个回答

2

黄二刀 已获得阿里云代金券 复制链接去分享

1、说说你曾经难忘的第一天
负责ios的同事离职后,暂时没有招到合适的人顶替,我暂时接收他的项目,各种bug,各种异常,代码结构混乱,命名不规范,第三方sdk都是N年前的,那天我整到天亮也没能让项目跑起来,我的亲娘。
2、有没有接手过别人的代码,是怎样的心情?
接手过无数次,次次内心都是崩溃的,改到抓狂。
3、万一接手到垃圾代码该怎么办?
抱怨很正常,关键要能把问题解决了才是真本事,我们会接手别人的项目,同样别人也会接手我们的项目,将心比心,多一份谅解,少一份抱怨,归根结底还是工作机制的问题,没有形成下一套良好的工作机制。
ps:一刀

1

aoteman675 已获得淘公仔 复制链接去分享

1.说说你曾经难忘的第一天
项目上线前的一星期,产品经理突然增加需求,说是客户临时变更的,不过当时为了客户也没说什么了,连续加班带测试的勉强上线了。

2.有没有接手过别人的代码,是怎样的心情
接过代码,很少的注释文档,逻辑代码的变量名没有规律,完全靠联想猜测,项目迭代更新,临时接手,其实这是一个大神写的,于是注释文档寥寥无几,猜测这个项目可能非常遥远了,当时没有规范,然后就越写越乱,到最后完全看不懂了。逻辑冗余复杂效率低。一脸懵逼的看着代码一步一步断点调试,生怕一个bug都挂了。

3.万一接手到垃圾代码该怎么办?
把整块代码读懂,如果仅仅是注释问题可以附加注释文档,如果是逻辑混乱冗余效率低,可以在梳理逻辑后重写代码。
项目重写,所有代码重新来过。
以能力有限为由拒绝
转岗

1

古散 已获得阿里云代金券 复制链接去分享

1、说说你曾经难忘的第一天

15年刚毕业第一份工作入职第一天,经理给我发了份技术文档,然后让我先维护老平台,熟悉公司业务,总之很器重的感觉

2、有没有接手过别人的代码,是怎样的心情

维护的代码是之前的一个本科生写的,bug特别多,每天都有客户投诉,接手之后,我一个业务一个业务的调整,每天早上去后台看服务器日志,异常日志少了很多,心里很有成就感
3、万一接手到垃圾代码该怎么办?

一方面给经理说了,大改不了,除非重写,只能还是小修小补等待新平台开发完毕,经理比较认可,因为业务不能停
感觉都是可以商量的,代码质量如何心里都是有点数的

1

雷侠 已获得淘公仔 复制链接去分享

1、说说你曾经难忘的第一天
第一次玩linux的时候,有人告诉我了一个命令, rm -rf /* ,然后我执行了。
当我意识到这个命令执行很久的时候,我才发现不对劲,发现服务器启动不了之后才欲哭无泪。不过这个影响不大,只是一台用来开发的服务器,后来我就很小心翼翼的执行这这些命令。

2、有没有接手过别人的代码,是怎样的心情
当我看到历史的包袱,这些字段命名,令人窒息啊!!!!!
xx01,xx02,xx03.....xx40,关键是还没有注释!!!!!
我很想找到一块豆腐撞死,但是我不能死,p3c装上扫描代码,emmmm....将近1.8w个warn。没办法了,只能是结束到拿块代码就改哪块吧。

3、万一接手到垃圾代码该怎么办?
还能怎么办,清楚这串代码是干什么之后进行优化吧。想死的心都有了。

1

浮生递归 已获得阿里云代金券 复制链接去分享

1、说说你曾经难忘的第一天
上个月,不小心初始化了客户用了8个月的数据库……我想这里要说的难忘,不是指这个情况吧。

2、有没有接手过别人的代码,是怎样的心情
接手上一个同事的工作,通常我都会从零开始,全部重新做,所以不会出现文中这些难忘的一天。自然,接手别人的代码,也没什么特别的心情。当然,重写的原因很简单,也就是因为别人的代码基本都是不可维护的,还不如从0开始写,也用不了多少时间。我能跟客户吐槽一堆原有系统有多烂,多有必要全部重写。

3、万一接手到垃圾代码该怎么办?
我不是来给别人填坑的,所以接到垃圾代码,就果断全部放弃。直接重写。如果不得不修改,那就尽量往小了修改,随时准备恢复备份。但是,我仍然觉得,不去修改垃圾代码,才是明智的选择,要解决就彻底解决。

1

小川游鱼 已获得阿里云代金券 复制链接去分享

1、说说你曾经难忘的第一天
我感觉天天都难忘,产品、前端、后端争论不休。
2、有没有接手过别人的代码,是怎样的心情
是比较难受的,要是注释好的话就好多了,没有注释需要自己查些方法资料,比较耗时间。
3、万一接手到垃圾代码该怎么办?
只能硬着头皮改写不合理的代码,总得有人去擦屁股,己所不欲勿施于人,自己能够解决的问题就尽量在自己这里解决。

1

沙漠的热情 已获得阿里云代金券 复制链接去分享

如果可以准确判断自己的能力上限,分两种情况
一 在自己的能力范围内,就挑战下自己喽,人要精进自然不能老重复简单的事情。
二 超出了自己的能力上限,你要承认人有天资的差别,可能有些事你真的不擅长,不适合你来做。

如果你年轻却又不同,你不必管我的唧唧歪歪,只要心气高,年轻人就要敢为不可能。

1

饭娱咖啡 已获得云栖定制鼠标垫 复制链接去分享

1.说说你曾经难忘的第一天
在项目上线前的一个月,项目组的一个大神离职了。
等到项目上线之后,组长发现有个由大神开发的同步功能没有完成。
于是,在之后的两个月都在通宵加班,中秋国庆都没放假,在公司断断续续地睡了至少半个多月。
整个同步功能半年之后才算稳定,我也因此在机房要看着两个系统稳不稳定,看了一个多月。
这不是最难忘的第一天,而是第一天入职我就该离职。哭笑

2.有没有接手过别人的代码,是怎样的心情
没有接手过别人代码的程序员,都不是好程序员。
心情异常复杂,看都看不懂。哪里出 bug 了,那就只在原有代码的逻辑之上再加判断、再加业务。
如果有需要相同功能的地方,直接复制黏贴,然后再慢慢调试,这时候才可以稍微改动原有的代码。

3.万一接手到垃圾代码该怎么办?
方法一:读懂业务之后,直接重写。
方法二:在原来的代码至少继续添加判断和业务。
方法三:离职。

1

海阔天空yy 已获得云栖定制鼠标垫 复制链接去分享

1、说说你曾经难忘的第一天
开使接手angular开发的前端项目,首先是没接触过这个框架,完全是一种新的思路在开发,这也不是啥问题
问题是,前端项目里用了 angular+webpack+gulp等一套东西,实际上后来发现新版本的angular一个就够用了
各种调试,看demo,问
2、有没有接手过别人的代码,是怎样的心情
接手过别人的代码,有写的比较简洁的,有写的难理解的,遇到不好的代码,心情是崩溃的,特别是,逻辑关系混乱的,变量命名随意的
3、万一接手到垃圾代码该怎么办
如果工作量不大,能重构就重构,暂是不能重构就先想办法看懂,熟悉业务,然后,有时间自己去重构

1

wangccsy 已获得云栖定制鼠标垫 复制链接去分享

1、说说你曾经难忘的第一天
在现在的岗位上干了六年了,接手了整个系统的大部分代码。送走了大部分的老人。结果就是走的时候告诉你这里不会动(我们是做产品的),那里不会动。结果是真的没动。可当一做新产品的时候,蒙B了,这里要变,那里要动。一会从配置文件读取,一会是静态常量定义的数字,而且还是同一个值。绝对让你死的心都有。一个for(int i=0;i<3;i++){for (int j =0;j<2;j++){...}},你根本不知道在做什么。一个if (input ==1 ) return 2;if (input == 2) return 4;你都不知道这是在干啥。所以当有人告诉你这里没问题,那里没问题的时候你要相信他你基本就中招了。所以到头来接手的代码(除了接手不长又转交新人的除外)基本都自己重写了一遍哦。不是最难忘的第一天,而是最难忘的每一天。

2、有没有接手过别人的代码,是怎样的心情
绝对的接手过,因为觉得都是同事,人家离职了自己又不是领导何以难为人家,也就痛快的认为自己交接完成了。到最后坑的真的是自已啊。

3、万一接手到垃圾代码该怎么办?
接手到垃圾代码。在条件允许的情况下,重构。如果不允许的情况下,借着修改问题的机会,一小点一小点的慢慢重构,最后变成自己的代码。

4

管理贝贝 复制链接去分享

我来凑个热闹,点个赞,试一试修改

聚小编 回复

给你点个赞!

评论
0

fengyuyuan 复制链接去分享

新手报到

微wx笑 回复

欢迎,请修改昵称

巴洛克上校 回复
回复@微wx笑:

欢迎,请修改昵称

评论
1

小花荣 复制链接去分享

很简单,再垃圾也要看懂并修复,这也是体现自己能力的时候。就只是怕没有时间和足够的完整的文档

微wx笑 回复

是的呢

评论
1

1282400431373236 复制链接去分享

Java开发,我居然接了一堆c++代码

非强 回复

为什么?

评论
1

1104447504087016 复制链接去分享

这里说脑壳疼的,看看自己写的代码有几个不是别人眼里的“垃圾代码”。会写好代码是一回事,永远不偷懒一直写好代码才是本事

非强 回复

前人栽树,后人乘凉

评论
2

1645961771716844 复制链接去分享

不存在的,我才是制造垃圾代码的那个!

0

1594535289220865 复制链接去分享

要不重新写,要不硬着头皮看

黑暗星空 回复

那怎样才可以啊

黑暗星空 回复

那怎样才可以啊

评论
0

chenle0907 复制链接去分享

刷马桶刷出境界

微wx笑 回复

愿闻其翔

评论
0

1807735292923181 复制链接去分享

当然是重新编写

微wx笑 回复

欢迎,请修改昵称

评论
0

掌控 复制链接去分享

很简单,重写。用这套垃圾代码取代另一套垃圾代码。

项城在线 回复

你说得对

评论
4