Soft_Job 板


LINE

我现在遇到一个情况 同时跟其他人开发很相似的功能 举例来说 我跟B同时开发两个电商网站 一个叫博客来,一个叫虾皮好了 B已经建好博客来商品列表页面 我也要建立虾皮的商品列表 想把B建的博客来页面拿来用 因为相似度很高,打算把页面共用的逻辑抽出来 放到common lib 但是这时B也在开发中 如果我重构博客来页面,他要把code merge回博客来时就要修很多冲突 这时我该做的是,直接复制博客来的逻辑,先把虾皮商品列表建出来 等两边网站都完成,再来重构吗? 因为现在程式成长幅度已经有点夸张了 单个档一千行程式码 我怕等两边都完成再重构,会花更多时间 现在就重构会造成merge冲突,而且两边开发进度也不一样 他写完的code我要用,就重构他的code 可能会重构到没完没了 遇到这种情况该怎麽办呢? 想问有比较好的方法吗 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 210.64.53.88 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1592992563.A.574.html
1F:推 wulouise: 复制过来refactor, 下一次对方可以考虑用你refactor的 06/24 18:05
2F:→ neo5277: 先rebase他的罗 06/24 18:09
3F:→ csieflyman: 他放长假 等你重构完後再回来上班 06/24 18:20
4F:推 aria0520: 开branch 06/24 18:27
5F:→ MOONY135: 你如果先重构最後他要解很多冲突最後可能会打架 06/24 18:30
6F:推 alihue: 重构後解完 conflict,可能又有一波重构要做 06/24 18:38
是啊 不管先重构还是後重构 这番功夫省不了的
7F:推 s06yji3: 为什麽已经做到这样还要重构? 06/24 18:38
重覆的code太多了 大概两个页面有50%重覆 再加上我的页面 以後要维护会花很多心力
8F:→ laputaflutin: 你们不是抽出共用函式库了吗,怎麽依赖还那麽乱? 06/24 18:39
这只是比喻 实际情况是更小的功能重覆 不是专案层级
9F:推 NDark: 一千多行就在怕。我前个专案一个档案三万行。 06/24 18:42
10F:推 ronny1020: 先重构把档案拆小,变小後要移也比较好移 06/24 18:46
11F:推 content71: 三万应该是html? 如果是JS就很恐怖了 06/24 18:46
12F:推 supernow: 先把抽共用的地方单独开一个分支让他merge 06/24 19:37
13F:嘘 Murasaki0110: 找他讨论很难吗 没共识就想偷偷来 06/24 19:41
14F:推 LeoSW: 先讨论两边预计要改的地方,尽量先从你一定要用但他已经不 06/24 19:46
15F:→ LeoSW: 太会改的地方开始重构。每次改动尽量小且确保他的原功能没 06/24 19:46
16F:→ LeoSW: 有问题。最後就是确实执行互相code review确保双方认知没有 06/24 19:46
17F:→ LeoSW: 落差。大概是这样吧 06/24 19:46
18F:→ LeoSW: 最重要的是事前充分讨论。很有可能讨论完的结论是不需要重 06/24 19:48
19F:→ LeoSW: 构,或者重构的代价相比带来的好处不合成本 06/24 19:48
谢谢L大 我应该会这样做 先把我预计改的地方跟他说 如果他也要动到这部份 就先copy一份 不改原始的程式码
20F:→ leo5916267: 应该是抽不乾净吧? 06/24 20:07
21F:→ leo5916267: 你们的情况common已经没意义了 06/24 20:08
※ 编辑: vi000246 (219.68.118.128 台湾), 06/24/2020 20:36:11
22F:推 TAKADO: 只好使用魔法卡 “算了反正以後不是我维护” 06/24 20:42
23F:→ vi000246: 使出反制陷阱 "就是你维护" 06/24 20:42
24F:推 TAKADO: 正常应该是你们要先讨论好可以/需要共用的功能,再抽出来 06/24 20:49
25F:→ TAKADO: 作成lib,或是乾脆以对方的页面为主开发common lib,你没 06/24 20:49
26F:→ TAKADO: 有先沟通好就开始重构对方的东西,然後说应该要共用,就会 06/24 20:49
27F:→ TAKADO: 升级成政治问题。 06/24 20:49
28F:→ vi000246: 我觉得还是时程太赶的关系 不然先讨论好共用部份 06/24 21:25
29F:推 APTON: 题外话,单档1000多行,应该很多职责不清,建议可以检查哪 06/24 21:25
30F:→ APTON: 边该抽出方法 介面 类别。 06/24 21:25
31F:→ vi000246: 事先规划好 就不会有现在的问题了 06/24 21:25
32F:推 qrtt1: 反正时程太赶,先拥抱技术债。上线後,营运後再做最後的决 06/24 21:42
33F:→ qrtt1: 定。没销量的那个销毁 (这就是所谓的技术倒债) (逃走 06/24 21:42
34F:推 Masakiad: 先请一个架构师 06/24 21:46
35F:推 GGFACE: 2 phase啊 你先copy一份整理好 他先用原本的改一版 你们 06/24 22:10
36F:→ GGFACE: 之後再看谁要refactor他改过的那包based on你整理好的lib 06/24 22:10
37F:推 wulouise: 时程不够就已东西先完成优先吧,还是两边unittest都很完 06/24 22:28
38F:→ wulouise: 整,refactor完不会破坏对方的逻辑?那就可以顺便改 06/24 22:28
39F:推 LeoSW: 如果你要改的部分他也在改,其实不太建议直接在这块抽commo 06/24 22:42
40F:→ LeoSW: n lib,因为这代表可能 1. 程式码没有拆乾净,应该先把模组 06/24 22:42
41F:→ LeoSW: 化做好 2. 需求还在变化,还不能确定到底有多高的可重用性 06/24 22:42
42F:→ LeoSW: ,直接各自发展可能会是更好的选项 06/24 22:42
43F:→ vi000246: 同意楼上 目前只能稍微整理 让日後修改不会太痛苦 06/24 23:17
44F:→ vi000246: 是没辨法一次做到好 06/24 23:17
45F:推 APTON: 如果因为时间不足从来就是假议题,因为每一个重要的专案一 06/24 23:20
46F:→ APTON: 定都有时程压力 06/24 23:20
47F:推 bjj: 重构前先有测试计画比较重要 06/25 01:28
48F:推 Csongs: release还重构,大概就吃饱太闲 06/25 09:58
49F:推 Csongs: 如果b不愿意抽出来 那也没辄 06/25 10:04
50F:推 internetms52: 你根他都没时间想comm lib该长怎样,找另一个人加 06/25 13:58
51F:→ internetms52: 入,由他来决定要拉什麽出来,并一起讨论需求 06/25 13:58
52F:推 Ghamu: 先把一个档案一千行拆一拆再来讲吧... 06/25 17:44
53F:推 guanting886: 一个系统套在不同的专案上虽然可能有相同的目的 但 06/25 18:21
54F:→ guanting886: 最终Ui跟核心、 资料库会因为专案需求的关系有所变 06/25 18:21
55F:→ guanting886: 化 你提早重构只能调整部分的比较不会有冲突的地方 06/25 18:21
56F:→ guanting886: 你所想的不一定会更有效率 06/25 18:21
57F:推 guanting886: 一千行算不算多 老实说长期维护五万行以上的专案( 06/25 18:25
58F:→ guanting886: 不算html/is) 而且都有拆分逻辑之类的情况下我不觉得 06/25 18:25
59F:→ guanting886: 算多 应该说这也不是用几行来认定 而且你搞不好行数 06/25 18:25
60F:→ guanting886: 是虚胖的(如排版上大括号造成的) 06/25 18:25
61F:→ guanting886: 我觉得你跟他应该是缺一个有共识的整理术 06/25 18:26
62F:→ guanting886: 让你在合并上常遇到冲突解不完 但是我觉得可能你一开 06/25 18:27
63F:→ guanting886: 始就不应该就两个专案去合并某些介面 06/25 18:27
64F:推 guanting886: 我觉得你可以跟你朋友讨论看看 分享一些作法看看会 06/25 18:29
65F:→ guanting886: 不会让两人执行专案上变得更顺 06/25 18:29
66F:→ guanting886: 不要去做任何偷改或是强迫别人一定要接受你的作法 06/25 18:29
67F:→ vi000246: 我还没开始动工 只是预知道可能的问题先上来问问意见 06/25 18:45
68F:→ vi000246: 我大概知道要怎麽做了 感谢大大回答 06/25 18:45
69F:推 zased: 两个菜鸟开发又没有mentor 带领就是会遇到这种鸟事。建议买 06/27 11:44
70F:→ zased: 书系统性学习 网路上都是片段零碎观念 06/27 11:44
71F:→ yourinfo: 代表common lib不够common 06/28 16:32
72F:→ yourinfo: 只是在他的code里加上你的code 这不叫common 06/28 16:33
73F:→ yourinfo: 可以自己先写一份common的 再请B找时间整合你的 06/28 16:38
74F:→ yourinfo: 这样才不会拖到两个人的进度 06/28 16:39







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灯, 水草

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

TOP