Soft_Job 板


LINE

※ 引述《VScode (VSisBestIDEinTheWorld)》之铭言: : 假设以下情境 : 有个功能A、B都会用到相同逻辑,且有两份重覆的code : (没有unit test保护,而且年久失修 要加入unit test会需要更多时程) : 现在要加入C,也会用到相同逻辑 : 身为合格的工程师 应该会把ABC重覆的部份提取出来 : 而不是让这逻辑重覆三次 : 但以公司营运的角度来看 这次专案就只会测试C的部份 : 不应该动到A、B : 这时就要冒着A、B坏掉风险重构,或是因为来不及加入unit test : 就乾脆让相同逻辑存在三个地方 : 身为专业工程师,我很想选择重构 : 但过去的经验告诉我 : 绝对要以kpi为最优先考量 : 於是程式充满了注解、重覆片段 : 虽然靠着笔记、git log,能还原当时写code的思路 : 但这些脏code就会永远留存在程式里 : 想问大家遇到这情况会怎麽做? 我觉得有个盲点就是 重复程式码的逻辑 我的经验是在需求还没稳定前 一样的程式码复制到不同地方才是最佳解 你根本不知道什麽时候 某个地方要用的逻辑不同 一但要改写的逻辑不通 你就会被共用的程式码卡住 就如你提到的案例 你只能砍掉重写 不然你就要很痛苦的把问题解决这时你就会写出 共用的难以维护的程式码 ,这反而比重复程式码还糟糕,看了很痛苦要改还要花大量时间 测试哪边会坏掉 另一种方式就是 C 不要共用的程式码 独立写一份 之後找时间把 共用程式码放回AB 你这样反而会乾净很多 通常能拆出去的程式码是无属性的 不然只是目前刚好有一样的逻辑 而不是可以共用的程式码 -- Sent from nPTT on my iPhone SE (2 Gen) --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.233.146.252 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1645893181.A.443.html
1F:→ Gaitz: 这麽说来你们会在所谓的需求稳定後,停下来大规模的重写重 02/27 01:10
2F:→ Gaitz: 构改好架构?还是最後根本没有时间而且又要开发新需求,然 02/27 01:10
3F:→ Gaitz: 後说需求没有稳定?永远没有做好? 02/27 01:10
4F:→ Gaitz: 有新需求会被共用的地方卡住这件事听起来很奇怪,觉得单一 02/27 01:14
5F:→ Gaitz: 责任原则没有做好。 02/27 01:14
6F:嘘 accessdenied: 不赞成。初期就这样做,只会遗留一大堆90%相似只有1 02/27 01:16
7F:→ accessdenied: 0%客制的程式码,然後未来修改,只敢全文搜索 find 02/27 01:16
8F:→ accessdenied: replace 02/27 01:16
9F:→ accessdenied: 而且,一旦分开管理,我保证没人有勇气统整回来 02/27 01:17
10F:推 xenorock: 我看法同楼上,没有先Design好,分割完全,全部搞在一起 02/27 01:27
11F:→ xenorock: 後面有的痛苦 02/27 01:27
12F:→ t64141: 初期到处贴你要有把握後期能整理,不然後面维护的人就会 02/27 01:33
13F:→ t64141: 变下一个原原po,很容易恶性循环的 02/27 01:33
14F:→ t64141: 至於被共用卡住的问题,遇到特例难以扩充再另外实作就好 02/27 01:37
15F:→ t64141: ,维护时因为特例而重复比初期就到处贴的副作用小多了 02/27 01:37
16F:推 MyNion: 我觉得你会被卡住,就代表一开始方法&功能就没拆好了 02/27 02:23
17F:推 MyNion: 将程式模组化,增添弹性的接口供外部呼叫 02/27 02:25
18F:→ MyNion: 如果这样还不行,那就代表从一开始这两者就毫无相同之处 02/27 02:29
19F:→ MyNion: 本来就要分开写了 02/27 02:29
20F:→ TakiDog: 程式码要增加很容易,要减少太难,那为何一开始不规划好 02/27 02:39
21F:→ labbat: 本来只要做加法函数,结果做成通用算数函数 02/27 03:06
22F:→ labbat: 不如一开始就设计通用算数函数 改坏了也只是大家一起坏掉 02/27 03:09
23F:推 geroge0820: 推文完全文不对题... 重点是需求还不稳定这件事吧 02/27 03:14
24F:推 wulouise: 可以共用的code怎麽可能会大到需求改变就一堆特例 02/27 09:40
25F:→ wulouise: 通常都是srp没处理好才在怕改A错B 02/27 09:41
26F:嘘 handsomeLin: 如果会有发现重复code然後还复制贴上的话就是design 02/27 11:28
27F:→ handsomeLin: 不行 02/27 11:28
28F:嘘 kkes0001: 绝对不要这样做 02/27 11:48
29F:→ foreverk: 会被共用程式码卡住,就代表没抽乾净,应该要去厘清逻 02/27 13:42
30F:→ foreverk: 辑,而不是跑去贴一堆重复code然後事後才要处理吧,本 02/27 13:42
31F:→ foreverk: 末倒置 02/27 13:42
32F:→ foreverk: 会觉得要花大量时间测试,就代表一开始你就没有写好uni 02/27 13:44
33F:→ foreverk: t test 02/27 13:44
34F:→ srwhite: 反了吧应该先写一起等真的有不同要复制再复制啊 02/27 13:50
35F:→ t64141: 需求不稳定不是重点,一开始到处复制,需求变化过程要改 02/27 14:46
36F:→ t64141: 就已经需要到处翻找了,即使等需求确定後也是要面临重构 02/27 14:46
37F:→ t64141: 的问题,万一届时已经上线更悲剧 02/27 14:46
38F:→ neo5277: 这篇是用接案公司的想法出发写MVP的时候吧? 02/27 15:17
39F:推 viper9709: 对系统还不够了解时,这才是比较实用的+1 02/28 00:08
40F:推 Nonsense8: 楼主没说错,这适用於未上线的专案,如果老板在开发中 02/28 10:19
41F:→ Nonsense8: 要求大改,主管有责任争取上线後重构时间。甚至需求大 02/28 10:19
42F:→ Nonsense8: 改也不是老板的责任,尤其市场上没有其他竞品可以参考 02/28 10:19
43F:→ Nonsense8: 时,才会不时在开发中更改需求 02/28 10:19
44F:→ Nonsense8: 但原文的情境应该是上线後营运很久的专案,就不适合这 02/28 10:21
45F:→ Nonsense8: 种作法了 02/28 10:21







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP