前端项目如何避免/解决因功能堆积导致的代码越来越烂的问题

2020-06-29 10:04:15 +08:00
 sybb
项目现状:
1. 功能越来越多,部分工具类文件多达一千多行代码,有点臃肿;
2. 新来的产品经理不了解项目就在那加需求 改业务,说了还不听,对之前的逻辑有较大的创伤(人家是甲方的人);
3. 新进来的开发越来越多,技术水平参差不齐,代码五花八门;

本人能力有限,来请教大佬们的项目遇到以上问题都是如何处理的。
3636 次点击
所在节点    问与答
38 条回复
sybb
2020-06-29 11:43:11 +08:00
@dilu 哈哈哈哈我继续堆屎了
yaphets666
2020-06-29 11:47:09 +08:00
@sybb 一样的 我这也是 很多数据后端取不了 有关树形统计的什么之类的 我不懂 sql 和 java 所以我也说不上话 哎...
revalue
2020-06-29 11:53:00 +08:00
@sybb #20 剩下一些具有共性的东西,做局部优化
rioshikelong121
2020-06-29 11:55:58 +08:00
SonarQube
meteor957
2020-06-29 11:57:57 +08:00
成本问题。 要不断的根据业务重写封装 代码,工时紧张的话只能往硬堆了。
lamy
2020-06-29 12:26:18 +08:00
跳槽是唯一出路,换一坨新鲜的屎
dremy
2020-06-29 12:45:35 +08:00
分明是态度问题,一个代码洁癖程序员在正常情况下绝不可能写出 shit 一样 代码
seki
2020-06-29 12:51:56 +08:00
js 代码没有 namespace 之类的也挺麻烦的,只能把 package 当作 namespace 来用,把代码按照包来分隔整理,不过管不好的话又是依赖地狱了
ChanKc
2020-06-29 12:53:57 +08:00
@kop1989 我的办法是,每次随新功能上一小部分重构。重构不需要大刀阔斧地去改,有时候只是改个变量名或者把代码简化个几行或者提取了新的方法和函数也可以算重构。反复几次的话可以大致达到比较理想的效果。关键在于领到新需求的时候对任务难度的评估,将这次完全不重构的任务量和小批量重构加上以重构后的做法的任务量比较,看看怎么做最合适。
重构的目标是:下次新需求来的时候比较容易完成新的需求。如果新需求来了需要大改,那本身说明结构不好,就是需要重构的
sighforever
2020-06-29 14:09:01 +08:00
@ChanKc 重构最主要的问题是,可能带来 bug,带来的 bug 的锅由谁来背?
ChanKc
2020-06-29 14:51:44 +08:00
@sighforever 担心背锅就不要改了呗,又不是不能用
redbuck
2020-06-29 16:17:12 +08:00
想起我司 6000 行的单文件 js 源码,闻者落泪
azcvcza
2020-06-29 18:00:22 +08:00
建议阅读 code complete 和 重构 ( js 版本)
realkaiway
2020-06-29 18:09:26 +08:00
@redbuck 超 300 就应该反省了~
sybb
2020-06-29 19:42:19 +08:00
@azcvcza 好的 感谢
whi147
2020-06-29 21:36:14 +08:00
@redbuck 我司项目以前有 10000 行的 cpp,后面直接重写了
littlecreek
2020-06-30 02:22:24 +08:00
楼主, 如果你公司是 955, 你可以考虑一下重构, 解决技术债之类的问题. 如果天天 996 的话还是算了. 继续往上堆功能呗, 堆不动了就多招人继续硬怼. 反正都要 996, 不管是屎山还是架构简洁优美在老板那里都是一个样. 而且怕屎山还能营造出你很忙的假象+多招几个人, 增加你们组的话语权.
sybb
2020-06-30 09:16:34 +08:00
@littlecreek 大半夜了还帮忙出主意 感谢感谢,我会好好考虑一下是不是要进行重构了

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

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

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

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

© 2021 V2EX