体会到那种维护"屎山"的感觉了

2019-03-31 11:24:06 +08:00
 whoami9894

楼主本科生,这周接手了校宣传部一个比赛网站的开发任务,代码是好几年前祖传下来的 PHP Yii 框架开发,之后每年这个比赛都会加一些新需求,然后每年学生都得修修补补

今年新加了几个分项,发现整个库表结构都得改,加上架构逻辑看起来很分散(不知道是框架的范式还是设计的问题),某个功能变了五六个文件得连带着改,还有不知道为什么某些表单结构和路由也放在数据库....。

部署到服务器后上传图片的接口崩了,半天也没定位到 Bug,易班认证的 OAuth2 接口也崩了,(说因为要推广易班所以需要先易班认证才能在本站注册),发现整个代码很多补丁的痕迹...头大 orz

老师本来告诉我有个功能前面几届都没给她实现,我当时没看项目代码,想着不是多复杂的功能,拍胸脯我今年肯定给她搞定...现在我明白为什么前几年没有实现了

12983 次点击
所在节点    程序员
97 条回复
mamahaha
2019-03-31 11:36:07 +08:00
而且以后别人接手这个代码时,你也会被接手者划分到垃圾代码产生者来看待。
CEBBCAT
2019-03-31 11:38:18 +08:00
先上 git 私有库,再上重构大法?
lovedebug
2019-03-31 11:40:02 +08:00
重写可能更快。这类校内网站功能又不是很多很复杂。
reus
2019-03-31 11:40:20 +08:00
重写吧
whoami9894
2019-03-31 12:00:33 +08:00
@CEBBCAT
@lovedebug
@reus
提出过要重写,但老师的认知里从 0 到 1.2 怎么可能比从 1.1 到 1.2 更快
CEBBCAT
2019-03-31 12:03:36 +08:00
@whoami9894 快跑!!!
blackmirror
2019-03-31 12:10:01 +08:00
每个接手都想重写,到最后都是修修补补
mscststs
2019-03-31 12:12:37 +08:00
@whoami9894 老师不懂开发,那么老师的意见很重要吗??不懂你们的逻辑
emmettwoo
2019-03-31 12:14:53 +08:00
@blackmirror 太真实了
whoami9894
2019-03-31 12:27:38 +08:00
@mscststs
这种项目大家其实都不愿意做,老师又催得紧,所以按自己的意思重写的话最后还得担责任,没有必要
whoami9894
2019-03-31 12:29:54 +08:00
@blackmirror
刚开始那几年修修补补应该是能用的,之后每年比赛要求都变更,今年变化大新加了几个分项...唉
Mac
2019-03-31 12:41:01 +08:00
重构呗
2589595915
2019-03-31 12:48:26 +08:00
老师算什么东西。你觉得该弄就弄。
mscststs
2019-03-31 13:02:32 +08:00
@whoami9894 允悲,学校里面做苦力其实还蛮难受的
hongfs
2019-03-31 13:06:15 +08:00
还好啦,我之前是 asp.net,
scukmh
2019-03-31 13:11:00 +08:00
又没有钱,没事干嘛给他打工。
notreami
2019-03-31 13:48:54 +08:00
钱给够,时间给够。否则按需求改改完事,短板优化原则。

每维护个"屎山"都重写,浪费时间和精力,最关键 ROI 太低,怎么证明你的能力?
reus
2019-03-31 13:55:28 +08:00
@whoami9894 你先做出来,然后拿给老师看,如果做得好,自然就用你的了。学生时期,有这么一个机会,就要抓住。就算最终你的东西达不到要求,不用你的,你还是得到了宝贵的经验啊。
okjb
2019-03-31 13:59:12 +08:00
三年三年又三年,缝缝补补又三年,能用就行
reus
2019-03-31 14:09:26 +08:00
如果你处理不了,那你就会成为老师口里的“前几届”其中之一

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/550456

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX