V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Macv1994
V2EX  ›  程序员

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

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

    为什么每次写完代码提交到生产环境我都要检查四五遍才敢发起 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  
       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   ·   实用小工具   ·   2899 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 00:08 · PVG 08:08 · LAX 16:08 · JFK 19:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.