V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
DJCNMHG
V2EX  ›  程序员

奇文共赏: [程序员的常识:写程序出 Bug 非常丢人]

  •  
  •   DJCNMHG · 230 天前 · 9450 次点击
    这是一个创建于 230 天前的主题,其中的信息可能已经有所发展或是发生改变。
    原文链接: https://sspai.com/post/82286
    文章备份: https://web.archive.org/web/20230827023002/https://sspai.com/post/82286
    背景:作者自己是程序员,以“程序员视角”来写的“程序员需要知道的常识”
    53 条回复    2023-08-28 15:09:58 +08:00
    lsry
        1
    lsry  
       230 天前
    额,能不写 bug 还是不要写吧,对得起本心就好
    mercury233
        2
    mercury233  
       230 天前
    可能他身边的程序员都是写完不跑一遍就提交的
    beisilu
        3
    beisilu  
       230 天前
    好,支持。建议被测试提过 bug 的程序员马上自裁谢罪。
    测试放过 bug 到线上?自裁。
    产品创造伪需求?自裁。
    老板别说了,应该做出表率第一个自裁。
    cmdOptionKana
        4
    cmdOptionKana  
       230 天前   ❤️ 23
    有时候发表文章会故意极端一点,以便激起大家讨论的欲望,如果写得太理中客,反而索然无味,文章也难以传播。
    weiwenhao
        5
    weiwenhao  
       230 天前   ❤️ 2
    要看给不给自测的时间,比如 1w 行代码的工作量需要 3 天完成,那这很明显领导就是告诉你: 你随便写,不用自测了,先完先提测再说,这样时间就是卡在测试部门,和我们研发部门没有关系了。
    yifangtongxing28
        6
    yifangtongxing28  
       230 天前   ❤️ 1
    只有执行的人才会出错,所以你看不会写代码的很多人都当产品经理了哈哈
    ampedee
        7
    ampedee  
       230 天前 via iPhone   ❤️ 4
    这不是常识吗?
    puras
        8
    puras  
       230 天前
    @mercury233 真的有好多人,写完一遍也不跑,甚至程序都启动不了
    wangerka
        9
    wangerka  
       230 天前   ❤️ 5
    司机的常识:出事故非常丢人
    中介的常识:不出单非常丢人
    玩游戏的常识:输了非常丢人
    做人的常识:死了非常丢人(人丢了)
    DOLLOR
        10
    DOLLOR  
       230 天前 via Android
    程序员还要知道一点,有的 bug 并不是在写代码时产生的,而是在产品需求设计之初就已经埋下的,所以,如果不是自己造成的 bug ,要坚决甩锅,不能自己背。
    danhahaha
        11
    danhahaha  
       230 天前   ❤️ 4
    有些人恨起来连自己都 PUA

    且不说有哪个程序员能保证自己不写 bug ,就说说写 bug 这个事情,是你能控制的了的么?好好走个路都能被车撞了,装了几百次的系统都会有几次死活安装失败,这些是你能控制了的么?

    写 bug ,就是要理直气壮,就和说话说图鲁皮一样,没啥可丢人的,别被一些人 PUA 了,bug 就和喝水呛着,吃饭咽着一样,没啥可丢人的。

    同样文章还有,《公务员这样拿包非常丢人》,《酒桌上这样喝酒非常丢人》,《 PPT 用这样的格式非常丢人》,都是一样的套路,撇开场景,环境,人的不同不谈,直接用一些自以为是的标准,压你一头,然后 PUA 你
    danhahaha
        12
    danhahaha  
       230 天前
    看了下原文。我想说:做人的常识:被这么多同行吐槽非常丢人
    TrevorPhillips
        13
    TrevorPhillips  
       230 天前 via Android   ❤️ 1
    在一个 bug 被认定为真正的 bug 之前,它首先是作为一个 feature 存在/doge
    fantathat
        14
    fantathat  
       230 天前 via iPhone   ❤️ 1
    外行话吧,你觉得有 bug 不用就是了。
    嘘知道程序实际上是系统集成,任何一个地方都有可能出问题,不是所有的代码都是自己写的,要是完全按自己的想法去写自己想写的东西,还会有那么多 bug 吗,问问可以做到这一点吗,随心所欲的写,bug 是谁的呀,不都是本身就有的吗,所要做的无非是找出 bug 吧,因为按照别人的设计来做肯定会有疏漏的呀,因为设计上就是可能有疏漏的,于是为了堵住设计上的疏漏就出现了越来越多不合理可能出问题的设计了,产品上到架构上到最终的实现只会越来越多的 bug ,谁会知道只会是个 bug 呢,如果你知道为什么不早点说,而要等到出现了发现了才说?你是故意的?
    Seayon
        15
    Seayon  
       230 天前
    就我个人而言,至少由于我个人直接原因出现的低级的 BUG 我会觉得非常丢人,所以我崇尚单元测试。
    hxndg
        16
    hxndg  
       230 天前   ❤️ 1
    @danhahaha 程序员是应该接受 BUG 的存在,而不是说 BUG 是合理的。所以出了 BUG 不丢人,而是出了 BUG 不知道复盘和改进很丢人。

    @mercury233
    热知识,大量低级 bug 的产生的原因因为程序员自己本身 UT 或者 Integration Test 不足,没发现最终提交到了线上。只有少量的 BUG 是设计缺陷,或者未考虑量级引起的。
    作为曾经一个研发体系的末端集成和检测的主 O ,发现过大量的弱智问题。。。
    正常的程序员(懂得复盘),基本都会问问自己为啥出现这个问题,但是依然有大量的程序员做不到这一点,工程素养不是每个人都有的。
    diagnostics
        17
    diagnostics  
       230 天前
    不写 BUG 的程序员没几个
    FrankHB
        18
    FrankHB  
       230 天前
    既然把能被 AI 替代的程序员单独拎出来说,那是挺丢人的。
    能被所有人容忍的 bug 通常来自需求分析不充分和设计缺陷,让只能负责个别阶段的工程师严格避免这类 bug (比如通过形式化方法)的确可能是比较困难的。
    而单纯转化设计到实现阶段的体力活冒失引起的 bug 就不配相提并论。单纯程序员身份引起的 bug 都属于此类。
    虽然原文坐着好像也没这个自觉——程序员当然不可能是被 AI 最后代替的。
    奇怪的是,有很多人明明干着比程序员高级复杂的工作,偏偏自贬身份,何苦呢?被 AI 还是 leader pua 惯了?
    dayeye2006199
        19
    dayeye2006199  
       230 天前   ❤️ 1
    测试都不写,还想 bug free ,AI 可能都做不到
    tairan2006
        20
    tairan2006  
       230 天前 via Android
    不可能没 bug 的…
    hs444
        21
    hs444  
       230 天前
    "你连你的产品经理都改变不了"
    作为程序员有正当理由却说服不了产品经理丢人吗?
    非常丢人
    SeaTac
        22
    SeaTac  
       230 天前 via iPhone   ❤️ 1
    如果 bug free 是那么简单的事情那还要 code review 和各种测试干什么
    Leonard
        23
    Leonard  
       230 天前
    骗回复的帖子为什么还要搬运
    qeqv
        25
    qeqv  
       230 天前
    我觉得认为出 BUG 非常丢人的思想非常丢人
    throwaway728
        26
    throwaway728  
       230 天前 via Android
    建议作者把标题改为震惊!程序员写出 bug 后竟然被这样进一步吸引眼球
    flyqie
        27
    flyqie  
       230 天前 via Android   ❤️ 1
    写出 bug 不丢人。

    写出自己水平不应该出的低级 bug 那才是真的丢人。
    netabare
        28
    netabare  
       230 天前 via Android   ❤️ 1
    感觉写一堆车轱辘话来回绕信息量约为 0 看完了不知所云更丢人
    qbug
        29
    qbug  
       230 天前 via Android
    @netabare 怕不是 ChatGPT 生成的🤣
    kindjeff
        30
    kindjeff  
       230 天前
    年纪大了,文章头几段就看不下去了
    janus77
        31
    janus77  
       230 天前
    我感觉还好 尤其是自己维护的屎山天天修 bug 修多了就看淡了
    我觉得丢人的是那种 失误导致的 bug 比如改某个地方的时候影响了另一个本来没 bug 的地方,或者测试不充分导致其实根本没有真正改好。
    niji
        32
    niji  
       230 天前 via iPhone
    奇文共赏这个好像是褒义来着,不过无所谓
    witcat
        33
    witcat  
       230 天前
    见过那种自己跑几遍冒烟测试才提测的,一般会被嫌弃赶不上进度。
    也见过纯盲写,写完了能过单测就行的那种,测试一堆 bug ,TL 还说好好好。
    现在也无所谓了,一个人基本不出 bug 被淘汰,或者另一个人天天出 bug 却被簇拥,都是有原因的。
    agagega
        34
    agagega  
       230 天前 via iPhone   ❤️ 3
    很符合我对少数派这个网站的刻板印象。

    这个网站最受追捧的就是那几位重度生产力矫情患者,记个 todo list 一定要用「最好的」「老牌的」软件,看不起开源的东西,讲生产力实践的字数比真实产出还要多,有读者质疑软文推的软件不值价还要被嘴。不会写代码,所以特别爱捧某些网红独立开发者臭脚。

    技术是没有的,推广是昂贵的,理论是复杂的,软文是冗长的,脾气是比 Linus 还大的。
    Vtwoguest
        35
    Vtwoguest  
       230 天前
    @cmdOptionKana 说的很好... 无论是小红书,抖音,等等社交媒体都是这套运行逻辑了....尤其是男女对立的话题流量最高
    zoharSoul
        36
    zoharSoul  
       230 天前   ❤️ 1
    他都说项目经理和客户了 一看就是个干外包的废物
    2218675712
        37
    2218675712  
       230 天前
    @agagega 是这样的,记个笔记能整出那么多的软件,先给你来套方法论,看文档教程至少要 1 个小时
    vfs
        38
    vfs  
       230 天前
    理性看待吧。 如果基本常识类的 bug ,那确实丢人(比如,变量不初始化, 字节数组当作字符串来取长度等)。 但是,如果你写了一个多线程程序,死锁或者竞争,我会觉得理所当然,不出 bug 只能说你的程序根本没有客户在用。
    chendl111
        39
    chendl111  
       230 天前
    那么多大厂的产品出了 bug ,是不是程序员都得自裁呢
    lasuar
        40
    lasuar  
       230 天前
    不要水贴。
    roundgis
        41
    roundgis  
       230 天前 via Android
    @diagnostics 應該是沒有
    xuanbg
        42
    xuanbg  
       229 天前
    写 bug 不丢人,理直气壮写 bug 才丢人
    ohwind
        43
    ohwind  
       229 天前
    What a stupid man.
    izzy27
        44
    izzy27  
       229 天前
    代码写就会有 bug ,不写就没有
    Masoud2023
        45
    Masoud2023  
       229 天前
    苹果派开始走这种吸睛路线了?
    lanceran
        46
    lanceran  
       229 天前
    文章代表作者个人观点,少数派仅对标题和排版略作修改。
    上面那句话那几个字有问题
    tony0730
        47
    tony0730  
       229 天前
    @Seayon 对于单元测试想请教,如何做好单元测试或者有没有好的相关实操教程呢
    lc5900
        48
    lc5900  
       229 天前
    bug 很正常,别犯一些低级错误就好
    xubingok
        49
    xubingok  
       229 天前
    1.程序员应该尽量少 bug 甚至不出 bug.
    2.出 bug 证明工作质量有待改进,但不至于说是丢人.
    3.接受"bug 一定存在"这个事实.
    c3de3f21
        50
    c3de3f21  
       229 天前
    @beisilu 剖腹紫金~
    zenoven
        51
    zenoven  
       229 天前 via Android
    看看医院里多少人的身体出 有问题,再想想 bug ,这不是很正常的一件事吗?
    再扯远点,很多孩子一出生就带着 bug 。

    Bug 是一种认知。需求可能都是有 bug 的,都是不断进化的,怎么可能保证代码不出 bug 。

    淡定些。之前写的一些代码,明明是产品的需求,而用户却认为是 bug ,那这些到底是 bug 吗?
    lmq2582609
        52
    lmq2582609  
       229 天前
    争分夺秒、态度要好、已经查到原因了正在解决、已经改好了正在测试。。。。。。这不是赤裸裸的 PUA 吗。
    你是"公司的草、家里的宝"呀,管它什么 BUG ,在不太离谱的情况下,我就写了爱咋咋地。
    yyysuo
        53
    yyysuo  
       229 天前
    看了一下,这篇文章写得非常好啊,楼主引用的那一段,作为程序员来讲,这么想是没有问题的,毕竟对自身的高要求有助于水平的提高,回帖里面防止被 pua 的想法是另一方面,也非常有道理,结合起来更好。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   874 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 21:46 · PVG 05:46 · LAX 14:46 · JFK 17:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.