作者TurtleGods (我阿肥拉)
看板Soft_Job
标题Re: [心得] 花了很多时间重构却被打枪用旧code
时间Thu Sep 18 22:02:50 2025
既然有人发文了,那我也来闲聊闲聊
程式码阿,就不断地推陈出新
新架构淘汰旧架构,旧架构不重构也迟早因为各种理由被砍掉
前公司很有远瞻性
他们终於发现.Netframework 4.0 这东西不行了(大约20年)
webform搭配jQuery,连一个打後端API的功能都没有
我刚到的时候看到 PageLoad() 一脸黑人问号
然後也去了解,为啥我们客户十几万,使用网站的比率不到2成
用那不到2成的功能
甚至很有心的实地访谈,出题目去找客户使用,找找问题在哪里
简单说结论:
因为难用到不行啊
介面老旧,转圈圈超久,功能分类奇差无比
还会从.cs 档案传字串回去前端组元件(懂得都懂)
然後就报错
回来主题,所以他们花了三年的时间准备、规划
找了厂商重新设计UI,请了新的前端工程师套用Angular前端页面
搭配.Net Core 8 想要重新改革
改成微服务架构跟上云端
这一切都是上面有心要改革想要做好的内容(毕竟花了三年)
上工做了半年以後
来了一个新长官
新来的长官觉得这太浪费时间了,『啪! 没了!』
但是他还是想要有新的功能
所以最後他决定把Angular镶嵌进去webForm里面
就是某些新功能点进去,画面是由Angular来做的
後端API改成中台架构那是另一个故事
最终结论
没错,要不要重构不是我们这些小工程师决定的
就算长官决定要做了,而且也已经开始做了
也是有可能新来的长官一来你就GG
毕竟大家都是出来混口饭吃的
真的不爽逃命比较实在
重构做好了没有KPI,做坏了全部算你头上
说来说去每间公司都是洞
就自己挑一个比较舒服的洞蹲着吧
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.44.194.218 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1758204173.A.566.html
1F:推 CRPKT: 整套翻新就尽量用 strangler fig pattern 吧09/18 23:09
2F:推 brucetu: 中台就是个傻逼架构09/18 23:36
3F:→ brucetu: 真正该解决的问题不去解 引入更多的复杂度以为可以解决09/18 23:37
4F:→ brucetu: 问题 实际上只是骗开发经费 早晚要整套打掉重做09/18 23:37
我完全同意你说的
目前的这一大包,就是因为以前不愿意升级架构
一堆程式码跟开发流程为了将就这坨垃圾
导致後续开发维护上的一大困难
好不容易有人要出头要做事情
又被收回去惹
5F:推 qqqlll666: 新长官就敏捷啊 前任那套瀑布开发 三年规划 半年开发09/19 05:41
6F:→ qqqlll666: 上线日不知道哪时候 你怎知道你做的是顾客要的 上线09/19 05:41
7F:→ qqqlll666: 後流量到缩怎办?09/19 05:41
8F:→ qqqlll666: 升级架构本来就是要渐进式 慢慢把webform 逻辑抽成独09/19 05:41
9F:→ qqqlll666: 立api 用现代框架叠新页面 迭代交付才能控制风险09/19 05:41
10F:→ qqqlll666: 大破可能大立 但更多的是直接死给你看09/19 05:41
11F:→ qqqlll666: 当然啦敏捷对工程师通常不是啥好事 大家都想重写 谁想09/19 05:41
12F:→ qqqlll666: 去改别人留的坑09/19 05:41
半年开发是因为新的主管砍掉专案了,不是只开发半年就要上
原本的目标是要逐渐拆功能,跟旧的并行
慢慢引导客户到新的网页去
然後,这网站没有量缩问题
因为本来就没流量
13F:推 pmove: 同意楼上,09/19 08:48
14F:→ pmove: 大家都想重写,09/19 08:48
15F:→ pmove: 只有少数人想看前人的code09/19 08:48
这不是大家想重写
是上面有心想重写
就是那堆叠迭代的思维
不把问题根除,反正总是有更重要的事
造就了我上次的文章结果
老实告诉你,这公司大家只想养老退休
那一堆烂扣是给後来的人看的
16F:→ brucetu: 这不叫敏捷喔 把 angular 镶嵌到 webform,以後要改成正09/19 09:21
17F:→ brucetu: 常的spa有多少工要做XD 差不多又是重写一整套的工作量09/19 09:21
18F:→ brucetu: 甚至超过 因为你要厘清在webform生命周期下的这些页面09/19 09:21
19F:→ brucetu: 行为 确保你新的常规spa应用是否有相同的行为。不是你把a09/19 09:21
20F:→ brucetu: ngular component 拿出来兜一兜就好了09/19 09:21
我就不懂这维护到底要怎麽做
有问题到底要算在哪边,要怎麽去抓问题
真的到时候要翻,还是要全翻
21F:推 s0914714: 有赚钱就好 网站没人用大家更轻松09/19 11:32
22F:→ s0914714: 就算新的网站上线 团队开发的思维没变一样会搞烂09/19 11:34
对啊有赚钱就好
反正公司不是靠你的网站赚钱的
你网站怎样都没差
23F:→ doo102510: 当你东凑西凑 东西还是可以运行 无形间你的功力就大增09/19 17:59
24F:→ doo102510: 了 下次面试你就多了一堆东西可以讲09/19 17:59
你确定你要拿webform跟别人谈吗?
25F:推 abc21086999: 怎麽听起来是金融业09/19 18:44
这个我们有机会再谈
26F:推 p62448: 这故事看一看觉得很熟悉,有机会说说中台架构的故事吗09/19 19:03
下次吧
我之後整理整理再来聊聊
27F:→ dildoe: 结果都是人跟管理问题最大 企业IT 没比较多都 呵呵09/19 20:43
28F:推 TAKADO: 台湾style的敏捷开发基本上只是用来榨乾PG的工具09/20 01:02
29F:→ dildoe: 管理层自己都搞不定了 带大家瞎忙最实在了XD09/20 06:40
30F:→ MOONY135: Hotfix跟需求我全都要 才是台湾敏捷的style09/20 08:38
我觉得需求都只剩fix
然後搭配一些无关紧要的功能
例如法规之类的
31F:→ airtsubasa: CRM本来就不管客户啦09/20 08:42
网路银行
有没有都没差,反正都能分行端处理
32F:推 umum29: 你是不是再说长荣航空的网路订票系统 ?09/20 12:37
33F:→ umum29: 每次看到那个aspx副档名我就摇头09/20 12:38
34F:→ umum29: 内部系统用老旧framework就算了 但公开的网站需要高安全性09/20 12:40
35F:→ umum29: 旧的框架有其安全局限 security scan就一堆安全性问题09/20 12:42
安全性问题
小声说,这是另一个笑话了
36F:推 abccbaandy: 那又怎样? 你还不是乖乖用,而且有出问题吗?09/20 15:31
看你要出什麽样的问题
说的也没错,没人用就是没人用
反正不用,就去分行叫分行用
37F:推 aass5576843: 换个工作09/20 16:26
对啊,一个萝卜一个坑
找个自己喜欢的蹲
38F:推 jacky841224j: 虽然不同产业,但也遇过一模一样的状况09/24 09:10
39F:推 Nitricacid: angular + webform 太美了吧 笑死09/24 21:58
我其实有跟他讲过
这以後维护上是找自己麻烦
不过喊了半天放了一年多,什麽都没做
也可以当他只是说说而已
公司大,不怕不怕
40F:→ AvatarH: 我会看前人的code,想知道做了些什麽09/25 08:16
我也会看啊
到职的时候先把git history看一下
我只看到
「20230501程式上线」
的log纪录
41F:推 NDark: 我猜这个上线的说不定是把开发好的另外commit到新repositor09/25 11:12
42F:→ NDark: 正确来做也要用push的。这样历史会保留下来09/25 11:12
43F:→ NDark: 当然也可以把历史都压掉 有些公司的merge 会这样做09/25 11:13
44F:→ NDark: 我个人是喜欢看那些每一笔做了什麽09/25 11:13
我可以斩钉截铁地告诉你,不是
版控是跟後中台一样的另一个章节
我有发过文,你可以去看看
※ 编辑: TurtleGods (49.218.147.44 台湾), 09/25/2025 12:02:30