来公司快 3 个月了,因为在公司一直负责是另外一个项目,结果其中一个项目的老哥突然跑路了。埋下了雷让我抱着。现在公司没有其他人可以接,只有安排在我手里。
项目是个单体架构,部署给了 10 多家公司使用。然后代码各种不严谨的 BUG,该判断为空的没判断导致数据库时不时的出现脏数据,可以让整个系统不能使用,丢重要的数据。判断逻辑有时候也不对。
代码没有任何注释,阅读根本无法阅读,try 乱 try 。log 基本上就打一个报错异常“服务器异常,请联系管理员”就没有了。而且线上的项目基本上没有日志输出....
代码版本各种不一,因为有的公司小需求不一,都是一些小东西。 但是没有记录,都是本地测试好了,把改的代码替换到服务器....心累
关键的是运行了一年多他们没发现这些 BUG....我是大写的服,结果现在还给我说等发了工资就叫我不要找他了。
现在客服每天给我报无数 BUG 给我改,堆积如山,心累的无语,跟老板商量了下(老板没意见),想推翻从来,但是需要时间。
另外一些 BUG 都是比较急比较致命的,所以根本没时间去推翻,招人来也需要时间熟悉项目。
想问下大佬们遇见这么情况的项目一般是怎么处理比较好,跑路什么的就不用说了,跑不了...
如果推翻重来的话,这种项目一般怎么去做到统一化管理,还有需求这种怎么处理比较好,一般都是一些加小功能比较多,主体功能不会变
求大佬们给点意见,我现在半夜都会接到电话处理 BUG...... 感谢了
1
di1012 2020-06-17 21:17:30 +08:00
重构。发病量大的推翻。
|
2
tomczhen 2020-06-17 21:21:06 +08:00 via Android
还能怎么办,人肉运维顶上,顶住不了跑路。
|
3
teawithlife 2020-06-17 23:07:33 +08:00 1
>关键的是运行了一年多他们没发现这些 BUG
>现在客服每天给我报无数 BUG 给我改 这两句有点难以理解啊,难道 BUG 跟扇贝一样,还会潜伏一年然后突然出现的? |
4
bclerdx 2020-06-17 23:12:04 +08:00
@teawithlife 没准就和扇贝一样,某天某个状态下突然爆发,平时可能是潜伏期吧。
|
5
bclerdx 2020-06-17 23:13:49 +08:00
这种前辈写资料备注都没有,也是没谁了,让后人不好弄,也无法提醒后人避免雷区和踩坑。
|
6
kaiki 2020-06-17 23:13:56 +08:00
@teawithlife 可能就是一直在顶 BUG,顶不住就跑路了
|
7
jinhan13789991 2020-06-18 06:23:06 +08:00 via Android
Bug 慢慢修呗,急的应该是老板啊
|
8
cxh116 2020-06-18 08:12:56 +08:00 via Android
得人钱财,与人消灾。
钱不够就只能 6 字真言了。以国内的环境,大概率是从一个坑跳到另外一个坑。 |
9
rapperx2 OP @teawithlife 有些功能对于以前的客户可能从不使用就没踩在雷上,现在有些客户使用了就爆发出来了。
|
11
badreamm 2020-06-18 08:59:24 +08:00
跟老板提,抓紧时间重构,如果老板不同意你也赶快跑吧
|
12
Dkngit 2020-06-18 11:24:38 +08:00 1
我以前公司的业务也是你这样子。有个主产品,但是各个客户总是有各种小需求,要不是增加新功能,要不是和现有功能不怎么一样需要改。我离职的时候,看项目也还是那样将各个客户的各个需求在主版本里改,搞的项目里添加了一堆可能只会用一次的废代码,也有可能将其他在用的功能搞的不能用。
对于开发的问题是各个客户项目都在赶时间,根本没时间编写效率高简洁的代码,基本都在 copy,还搞的项目里一堆 BUG 和埋雷。 我的想法是:应该是分为主线和分支,主线只关注通用功能和基础界面组件。每有一个新的客户建立一个分支,将功能需求限制在这个分支里。固定周期总结分支功能,是否有功能是泛用性广都需要的,然后将其通用化加进主线。 至少这样能将每个客户项目的功能 BUG 限制在各自的分支里,防止功能混杂埋下雷。也能慢慢迭代优化主产品,做完整的设计和测试。 |