现在着手维护老代码, 之前共同开发代码的人已经离职了, 最近是真的被这代码弄得焦头烂额...
举个例子, A 创建了这个项目, 实现了基本的功能, 然后 A 去做其他的了
这时候 B 来了, B 的任务是在这个框架之上添加一个功能
(他并没有和 A 沟通, 沟通不彻底, 或者这时候 A 没时间, 等等原因)
B 不熟悉这个框架, 加功能的时候需要一个参数(函数), 这个参数(函数)本来在 A 写的代码里面有了
但是 B 不知道, 自己动手把这个参数(函数)实现了, 好, B 完成任务了.
然后又来了 C, C 实现功能的时候他只看到了 B 的那部分(或者 A 的部分), 他以为把这里改了就好了
就只改了一处, 或许因为逻辑的原因暂时没有问题
(也许 C 看到了问题所在, 但是要把框架纠正过来太麻烦了, 他只管实现就行了), C 好像也完成任务了.
...
到最后来维护这个代码的人面对的就是坑坑洼洼的代码
没有人对接, 这样他即使能改, 改出来的也是坑坑洼洼的代码...
我现在大概就在做这样的事, 好痛苦...
PS:谁写的谁来维护, 鬼 TM 才想看这样的代码
1
wxsm 2018-06-21 10:50:41 +08:00
上了年纪的项目绝大多数都是类似这样的的。。。。习惯就好
|
2
UIXX 2018-06-21 10:56:26 +08:00 1
重构之,强迫症的唯一选择
|
3
jayin 2018-06-21 10:56:36 +08:00
习惯就好了。。
|
4
liuguangcuican 2018-06-21 10:59:57 +08:00
我现在正在对一个从 08 年活到现在的项目进行重构,感觉自己会在重构完之前跑路
|
5
mseasons 2018-06-21 11:01:03 +08:00
我记得轮子哥说过一次 office 的代码就有这种情况。
|
6
mrzx 2018-06-21 11:01:18 +08:00
你只能重构。
多人开发都是这样。没办法 而且很多人交接的时候,故意会将代码里的注释全部删除。 缺乏职业道德。 |
7
icy37785 2018-06-21 11:05:49 +08:00 via iPhone
说实话,我自己一个人的项目,不同阶段再去维护,最后慢慢的都会变得坑坑洼洼。
|
8
Akiyu OP 重构是不可能的, 这辈子都不会重构
别人拉的屎, 凭什么要我来擦屁股. 而且重构面临的问题和代码量, ... 无力 ... |
9
alexnevsky 2018-06-21 11:17:53 +08:00
@Akiyu - -||,
|
10
cross874 2018-06-21 11:20:42 +08:00
拿出作家的心态写代码就行喽
前面代码写成什么样不管,等于是一本书,前面的剧情可以彻底不理,就看当前剧情什么样,往下写就好。你不是银弹也不是救世主,只是来开发新的需求.... |
11
SakuraKuma 2018-06-21 11:28:41 +08:00
不然以为重构是怎么来的 ( 逃
|
12
df4VW 2018-06-21 11:30:57 +08:00
没有测试
有测试再屎的代码我都愿意改 没测试就凭天意了 |
13
lincanbin 2018-06-21 11:32:52 +08:00
我最近在重构一个完全没有一行注释的系统。
|
14
rogwan 2018-06-21 11:35:02 +08:00 via iPhone
你现在是 D?E?F?还是...N?
|
16
lululau 2018-06-21 11:44:44 +08:00 1
说重构的不知道重构的前提是要有测试吗
|
17
yylucifer 2018-06-21 12:39:12 +08:00
你这不是“多人开发”
你这是项目维护的问题。。 标题党。。 |
18
pathbox 2018-06-21 12:42:34 +08:00 via iPhone
遇到维护他人复杂代码模块的时候其实没有把他完全重构一遍的爽
|
19
heikejia 2018-06-21 13:28:17 +08:00 via iPhone
版本控制与代码 review 了解下
|
20
dong3580 2018-06-21 13:35:13 +08:00
code review
|
21
l00t 2018-06-21 13:52:50 +08:00 1
没有把握千万别重构。真要重构也要一小部分一小部分来,一下改太多容易捅娄子。
重构的前提是要有完整的测试。而完整测试的前提是要了解详尽的需求。不然你就给自己挖坑了。 |
22
sammo 2018-06-21 13:54:17 +08:00 via iPhone
应该先熟悉项目
|
23
1014166283 2018-06-21 14:36:41 +08:00
没有文档吗?也不做交接工作?
|
24
x7395759 2018-06-21 14:46:58 +08:00
这不是很正常的事情吗?项目管理为 0 的中国软件,这是阵痛,一定要相信哈哈哈哈
|
25
jerry033 2018-06-21 15:04:18 +08:00 1
所以说 Linux 真是个奇迹啊
|
26
virus94 2018-06-21 15:53:11 +08:00
唉 我这边也是一个项目经手五六个人,代码里全是补丁,直接重写了 0.0.
|
27
cxh116 2018-06-21 15:57:10 +08:00
代码上的痛苦算个什么?
小马,我有个不错的 idea ,明天帮我实现,争取后天上线. |
28
Viztor 2018-06-21 16:53:42 +08:00
这哪里是多人开发。
这是连续断层式单人开发。 |
29
freedom3 2018-06-21 17:27:51 +08:00 1
这叫祖传代码
|
30
loveCoding 2018-06-21 18:16:23 +08:00
跟多人没关系 , 跟团队代码质量管理有关 ,
|
31
caiya21 2018-06-21 19:23:06 +08:00
难道 真的是 没有文档 没有注释。。。
|
32
caiya21 2018-06-21 19:25:21 +08:00
我也有一段重构完别人写的系统过后 接着就跑路的经历 说多了都是泪。。。
|
33
albertofwb 2018-06-21 21:50:52 +08:00
@jerry033 linux 有 linus 在一直评估各个 PR
|
34
albertofwb 2018-06-21 21:52:20 +08:00
楼主,我的感觉跟你一样
我现在就处于你描述的 C 或 D 的状态。MD 一开始不熟悉代码,手写了几个轮子,实际上代码库里都有 慢慢的,项目熟悉了,一边修修改改,一边小范围重构,倒也还阔以 |
35
20015jjw 2018-06-21 23:28:58 +08:00 via Android
命名差也会导致这个问题
|
36
HangoX 2018-06-22 01:03:39 +08:00 via Android
所以你们不写文档的吗?不建立文档索引的吗?不然谁知道
|
37
HanSonJ 2018-06-22 01:09:11 +08:00
review 的重要性
|
38
ericls 2018-06-22 01:37:56 +08:00 via iPhone
Mob programming 了解一下
|
39
Lentin 2018-06-22 01:41:07 +08:00 via iPhone
又不是不能用.jpg
|
40
Lwf1995 2018-06-22 06:37:17 +08:00 via Android
我在的公司创业公司,老总减少成本都招兼职,这个项目都不知道几十个人改过。。。。然后我也是另批方法,没办法😓
|
41
sumu 2018-06-22 07:20:13 +08:00 via iPhone
千万别一激动就大规模重构,一般都是给自己挖坑,老板还看不到你的绩效。重构有点类似搞大扫除,搞完自己住觉得爽,但对于房子的价值而言提升很小。一个可行的策略是延长时间线,在不影响开发和维护的基础上逐步抛弃
|
42
MoHen9 2018-06-22 09:02:01 +08:00 via Android 1
1.推到,重来。
我接手项目之后,发现项目的每一个文件都散发着腐烂的气息,需要即可着手准备重构,但是东西太多了,可以说是牵一发而动全身,改完之后,会出现莫名只奇妙的 bug,不敢改,就想着推到重来,先想到的是做成微服务,着手学习微服务,东西太多,勉强改了最重要的模块,其他的先不管。 2.跑路 改着改着发现能力不够,只给 4k 的 money,又做驴(Android)又做马(后台),有时还得做骡子(前端页面从“设计”到实现,还有测试),实在是累,跑路 ing。 |
43
MoHen9 2018-06-22 09:02:57 +08:00 via Android
打错字了,是推倒
|
44
iqav 2018-06-22 09:31:25 +08:00
题外话。未来有没有一种程序,能把代码全息投影出来,自动分析 /分解代码结构逻辑关系,然后给出最优解决方案,并能自动执行整理工作,就像电影里边一样(笑)
|
45
mingyun 2018-06-22 09:59:31 +08:00
如果有时间精力就重构吧 不过万一你又离职了,这个坑又留给别人了 [doge]
|
46
lcdxiangzi 2018-06-22 10:31:03 +08:00
@l00t #21 很中肯,真的需要谨慎。
|
47
Akiyu OP |
48
mengyaoss77 2018-06-22 11:06:48 +08:00
我现在也在维护这样的一个项目, 坑坑洼洼, 不知道从哪里动刀子.
而且我还是实习, 也没这个能力去动刀子.. |
50
nevermind1998 2018-06-22 21:17:33 +08:00
最煩的是沒測試或是測試覆蓋很少
改都改的怕怕的 |
51
career 2018-06-24 06:56:44 +08:00 via iPhone
代码风格超级烂的,最近要看吐了
|
52
dragonszy 2018-06-24 17:16:20 +08:00
千万不要重构,给自己挖坑。重构这种事由竞争对手做就行了。
|
53
Leigg 2018-06-25 09:00:21 +08:00 via iPhone
钱多混着干,钱少你懂的
|
54
jiangbingo 2018-07-12 17:33:54 +08:00
UT+ refactor.
|