代码提交到生产环境的焦虑 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Macv1994
V2EX    程序员

代码提交到生产环境的焦虑

  •  
  •   Macv1994
    weijiang1994 2021-03-04 11:09:28 +08:00 5484 次点击
    这是一个创建于 1688 天前的主题,其中的信息可能已经有所发展或是发生改变。

    为什么每次写完代码提交到生产环境我都要检查四五遍才敢发起 merge request

    42 条回复    2021-03-05 12:18:24 +08:00
    dream4ever
        1
    dream4ever  
       2021-03-04 11:11:03 +08:00
    测试写到位的话,应该能显著缓解这种焦虑吧?
    devliu1
        2
    devliu1  
       2021-03-04 11:12:24 +08:00   3
    同,每个文件都要 diff 下才敢提交
    xuanbg
        3
    xuanbg  
       2021-03-04 11:14:12 +08:00   4
    哈哈哈,我经常盲改代码直接上线。换成楼主,怕是要原地升天。
    Vegetable
        4
    Vegetable  
       2021-03-04 11:14:41 +08:00
    写测试,能给自己减压。
    SuperManNoPain
        5
    SuperManNoPain  
       2021-03-04 11:18:45 +08:00
    测都不测直接提交
    llllboy
        6
    llllboy  
       2021-03-04 11:20:29 +08:00
    单测测试 起码得做吧?
    Jooooooooo
        7
    Jooooooooo  
       2021-03-04 11:22:40 +08:00
    流程做好, 包括方案 review/代码 review/评估测试用例 /联调 /测试 /灰度上线, 严格按照流程办事, 那出了问题锅也不在你这.
    leafre
        8
    leafre  
       2021-03-04 11:22:44 +08:00
    这不是测试->运维的工作吗
    Macv1994
        9
    Macv1994  
    OP
       2021-03-04 11:25:15 +08:00
    @devliu1 跟我一样 哈哈哈
    Macv1994
        10
    Macv1994  
    OP
       2021-03-04 11:26:00 +08:00
    @Jooooooooo
    @leafre 小公司 没有那么规范的流程 是公司自己的内部平台
    yiqiao
        11
    yiqiao  
       2021-03-04 11:27:44 +08:00
    @xuanbg 有时候检查没问题发现数据库没同步,炸了。
    yamasa
        12
    yamasa  
       2021-03-04 11:28:09 +08:00   1
    写 ut 是职业素养,跟公司规模没关系。写好 ut (覆盖率有个七八成)至少能规避六七成的 bug,再出 bug 的话也不是你一个人责任,测试锅更大。
    wangkun025
        13
    wangkun025  
       2021-03-04 11:28:34 +08:00
    增加测试部门。
    iConnect
        14
    iConnect  
       2021-03-04 11:29:18 +08:00 via Android
    没办法百分百正确,灰度吧发布吧。只有不会造成脏数据这种 bug,其他程序错了及时回滚
    chinvo
        15
    chinvo  
       2021-03-04 11:29:52 +08:00
    测试覆盖的全, 倒是不会焦虑上生产

    就是每次 commit, 都要一行行选半天
    lecher
        16
    lecher  
       2021-03-04 11:31:51 +08:00
    典型的缺少测试引入的问题
    如果自己写了单元测试,划好改动范围并且测试用例覆盖了业务需求,就不会有这样的焦虑。
    Macv1994
        17
    Macv1994  
    OP
       2021-03-04 11:32:47 +08:00
    @yamasa 没有专职测试 自己会写一些简单的单元测试
    Jooooooooo
        18
    Jooooooooo  
       2021-03-04 11:34:44 +08:00
    @Macv1994 既然如此, 那出了问题关系也不大吧.
    jonyj
        19
    jonyj  
       2021-03-04 11:36:58 +08:00
    极度真实!我也是
    rocksolid
        20
    rocksolid  
       2021-03-04 11:39:12 +08:00
    都是这样
    Macv1994
        21
    Macv1994  
    OP
       2021-03-04 11:41:28 +08:00
    @Jooooooooo 大倒是不是大 有公司的业务流程在里面 怕崩了没办法正常开展业务
    Macv1994
        22
    Macv1994  
    OP
       2021-03-04 11:41:43 +08:00
    @jonyj
    @rocksolid hhhh 同是天涯焦虑人啊
    adamwong
        23
    adamwong  
       2021-03-04 11:43:33 +08:00
    有测试覆盖率就不会焦虑了
    Macv1994
        24
    Macv1994  
    OP
       2021-03-04 11:43:48 +08:00
    @lecher
    @chinvo 写了但是不能保证全部覆盖
    @wangkun025 我不是老板啊 我也想增加啊 哈哈哈
    lewinlan
        25
    lewinlan  
       2021-03-04 11:45:13 +08:00 via Android
    写测试可解
    测试跑通,代码都懒得看了直接提交(
    Jooooooooo
        26
    Jooooooooo  
       2021-03-04 11:45:48 +08:00
    @Macv1994 如果重要, 那可以要求加流程防止有问题. 把风险和老板说清楚, 如果老板坚持认为这个风险可控, 那出了问题责任也不全在你. 你已经把可能的风险讲明白了.
    wangkun025
        27
    wangkun025  
       2021-03-04 11:57:23 +08:00
    @Macv1994 那这个问题就无解了。
    MYlyc
        28
    MYlyc  
       2021-03-04 12:16:34 +08:00   5
    小公司,改了代码直接上生产,生产没问题再提交
    一点不慌
    SjwNo1
        29
    SjwNo1  
       2021-03-04 12:29:57 +08:00 via iPhone
    可 roll-update 怕啥(瑟瑟发抖)
    consul
        30
    consul  
       2021-03-04 12:37:21 +08:00
    因为你有责任心
    zhoudaiyu
        31
    zhoudaiyu  
    PRO
       2021-03-04 12:40:33 +08:00 via iPhone
    @devliu1 跟我一样,甚至 commit 时看一眼,push 前再看一眼
    lecher
        32
    lecher  
       2021-03-04 13:01:33 +08:00
    @Macv1994
    测试用例是根据业务写的,而不是根据功能边界写的。
    生产环境的需要的业务都有测试用例覆盖,还有啥焦虑的,如果上线发现问题,说明存在测试用例没有覆盖的业务,补上就是了。

    所以测试用例的写法更像用户手册,告诉别人这块的实现是解决什么业务的,会被怎么使用。
    wellhome
        33
    wellhome  
       2021-03-04 13:20:27 +08:00
    @dream4ever 谁来测试测试代码本身?是不是要给测试代码写格测试?
    UserDMM
        34
    UserDMM  
       2021-03-04 13:24:18 +08:00
    先做自测试,没问题了再提交就没有焦虑了。盲改盲提肯定出问题,墨菲定律
    liujialongstar
        35
    liujialongstar  
       2021-03-04 15:00:33 +08:00
    厉害, 代码直接上生产环境, 不经过测试环节吗?
    lesloli
        36
    lesloli  
       2021-03-04 15:01:05 +08:00
    我膨胀的时候写 C++连编译都不编译直接提交...
    whileFalse
        37
    whileFalse  
       2021-03-04 15:36:28 +08:00
    为什么代码直接上生产环境?
    troycode
        38
    troycode  
       2021-03-04 17:13:13 +08:00
    本地看完,直接 merge
    snoob
        39
    snoob  
       2021-03-04 18:12:17 +08:00
    胆大点直接推上去,打个 tag,丢生产跑起,有问题,回滚看看,再来一波前面的操作,以此类推至没坑
    zaul
        40
    zaul  
       2021-03-04 20:07:52 +08:00
    干就完了,出问题秒回滚
    puzzle9
        41
    puzzle9  
       2021-03-05 09:52:35 +08:00
    作为 一个 开发 + 测试 + 运维 来说
    就是 一行一行看这个
    本地先测试
    没问题看功能影响大小
    大的话 半夜维护
    出了问题 秒回滚
    Macv1994
        42
    Macv1994  
    OP
       2021-03-05 12:18:24 +08:00
    @puzzle9 是的 只能这样
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1119 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 18:12 PVG 02:12 LAX 11:12 JFK 14:12
    Do have faithin what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86