作者handsomeLin (NickLin)
看板Soft_Job
标题Re: [讨论] 重构跟kpi的考量
时间Sat Feb 26 08:57:52 2022
※ 引述《VScode (VSisBestIDEinTheWorld)》之铭言:
: 假设以下情境
: 有个功能A、B都会用到相同逻辑,且有两份重覆的code
: (没有unit test保护,而且年久失修 要加入unit test会需要更多时程)
: 现在要加入C,也会用到相同逻辑
: 身为合格的工程师 应该会把ABC重覆的部份提取出来
: 而不是让这逻辑重覆三次
: 但以公司营运的角度来看 这次专案就只会测试C的部份
: 不应该动到A、B
: 这时就要冒着A、B坏掉风险重构,或是因为来不及加入unit test
: 就乾脆让相同逻辑存在三个地方
: 身为专业工程师,我很想选择重构
: 但过去的经验告诉我
: 绝对要以kpi为最优先考量
: 於是程式充满了注解、重覆片段
: 虽然靠着笔记、git log,能还原当时写code的思路
: 但这些脏code就会永远留存在程式里
: 想问大家遇到这情况会怎麽做?
感觉这个标题就是个假议题,你说不重构A、B因为Unit test来不及写,那你新写的C就不
用unit test了?
然後你又说三个code一模一样,假设你帮C写完unit test了,那你不就也把AB搞好了吗?
再退一万步来讲,AB没有unit test大家用的那麽爽你还硬要去动也只是吃饱太闲,不如
好好写你C的unit test,写完大家就用C就好啦
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 98.207.136.165 (美国)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1645837075.A.310.html
1F:推 mmonkeyboyy: 推02/26 09:11
2F:→ xam: 他是说ABC其中各有一小块重复的,变abc..02/26 10:07
如果是不同东西的话也完全没必要动
※ 编辑: handsomeLin (98.207.136.165 美国), 02/26/2022 10:13:05
3F:推 jlhc: 这篇正解... 所谓的专业不是自己想怎麽搞就怎麽搞... 02/26 10:44
4F:→ pttano: 评论要不要重构不能只看程式码的逻,原原po应该是菜鸟 02/26 11:34
5F:→ pttano: .......................................逻辑 02/26 11:35
6F:推 knives: 菜鸟最喜欢重构了,以为很行 02/26 14:09
7F:推 abccbaandy: 推楼上,一堆没经验的整天在那边重构,搞出一堆问题 02/26 14:41
8F:推 lovdkkkk: 不过就是要这样 才会有经验啊 02/26 14:44
9F:推 t64141: 怎麽推文说得像是重构像是一种错误行为一样... 02/26 15:01
10F:推 sniper2824: 不好说 02/26 15:24
11F:→ fadeawaygod: 重构只在有完善测试的情况下才能安全进行,测试越少 02/26 15:30
12F:→ fadeawaygod: 风险越大,故重构并不是在每个context下都是好的行为 02/26 15:30
13F:→ nh60211as: 有些人重构跟乱写没两样 02/26 15:34
14F:推 now99: 现有测试再来重构 02/26 17:16
15F:推 wulouise: 重构跟砍掉重练不一样,一次改太多又没测试没bug才奇怪 02/26 21:34
16F:推 CaptainH: Code的价值不在优不优雅 在於有没有带来新利润 02/26 22:49
17F:推 CaptainH: 请问你重构的目的是为了节省记体?为了执行更快?为了 02/26 22:51
18F:→ CaptainH: 未来扩展性?还是为了规模化? 02/26 22:51
19F:推 CaptainH: 不要只为了code不合"优雅"的定义而重构 02/26 22:53
20F:推 mmonkeyboyy: 重构有时比砍掉重练难多了= =" debug 不如 delete 02/26 23:54
21F:→ mmonkeyboyy: code 优不优雅这回事 可以加上注解 最终还是看出来 02/26 23:54
22F:→ mmonkeyboyy: 的东西是什麽鬼 没利润真的懒 除非是要改架构再说 02/26 23:55
23F:→ mmonkeyboyy: 不然光去找人协调就几个月过去了 02/26 23:55
24F:→ superpandal: 重构要看你有没有这个决定权以及是谁想要重构 有时候 02/28 20:23
25F:→ superpandal: 你想要重构上头不准 有时候你不想重构上头想 XD 02/28 20:23
26F:→ superpandal: 通常上头想的不是上头自己也操刀 02/28 20:25