为什么有些BUG不能改?

10 评论 16915 浏览 35 收藏 5 分钟

无论是开发还是产品经理几乎每天都在和各种各样的BUG打交道。但是,为什么有些BUG是不能修改的呢?

当一个特性以代码的形式进入产品的时候,就伴随着各种各样的BUG,直到发布之前,都会一直处于发现BUG,修复BUG的循环中。出现了BUG就要修复,这似乎是再自然不过的事情了。但是,有时产品经理发现了BUG后,兴冲冲地去找开发修复时,得到的答复却是“这个BUG我知道,原因也清楚,但是不能修复”,简言之就是知错不改。

得到这个答案时,产品经理可能会丈二和尚摸不着头脑。为啥连原因都知道的BUG却不能修复呢?是技术含量太高还是懒得修复?除去开发就是想忽悠你的这种情况,我们来看看这其中的原因。

发版在即,BUG修复会产生不确定的后果。这种情况比较常见,也是产品和开发都认同的,原因还是简单说说。可能作为产品经理在这个版本只负责一个特性,但很多时候开发之间的代码是纠缠在一起的,可能从外面看修复一个BUG似乎只是这个产品特性自己内部的问题,但如果在测试不够充分的情况下,开发自己都没有信心保证这个修改是否会对其它地方造成影响,这是无数次血的教训换来的谨慎。

用一个小BUG来隐藏一个大BUG。这种就是比较高级点了,有时你可能觉得开发做出来的样子似乎和最初的设计有些偏差,这就算是BUG了,但开发却是为了避开某些的坑(有可能是系统的,也有可能是别人的)不得已的调整,其实他心里知道和设计有出入,但是如果不这样做,可能会引发更大的问题。

比如,用一点颜色上的偏差来解决系统可能出现的绘制问题,又或是按照正常实现方式会触发一个别的操作路径上的crash,于是开发就添加了很多额外的条件让它成为一个只有小场景下随机出现的问题。可是不巧,你刚好又遇到了。

最后来说说不能修改的BUG中的极品。

一个产品的开发往往不是固定的,有的变更甚至是非常频繁的,而在写代码这个问题上,每个开发都有自己独特的思想,每个刚踏入此坑的开发都怀着各种设计,各种架构。但是,现实往往是在遇到各种难以解决的问题后学会了各种奇技淫巧,这种奇技淫巧在程序代码中的体现往往是“神来之笔”,原作者离开后,接手者几乎难以理解其奥妙。

为保险起见,在遇到新问题时,后来者往往不愿意去调整旧的逻辑,而是开始施展自己的奇技淫巧去解决各种奇葩的问题,如此反复,最后的代码已经到了只能看不能动,但程序又能基本正常运行的神奇境界。在产品体验时感觉到只是有些小问题而已,比如看似仅仅换张图就能解决的bug却被告知不能修复。有些开发敏锐度很高,在感觉填坑力不从心之时选择离开,因为再不走可能要吃不了兜着走了,所以也只能在代码注释中留下一句“祝你好运”来勉励接手的人了。

很多产品中都或多或少都存在这些问题,这些都是不鼓励的做法,不过在开发人员时不时变动的情况下,谁又顾得了那么多呢?或许开发再告诉你BUG修复不了时,你不会感到疑惑而是心惊。

#专栏作家#

给产品经理讲技术,微信公众号(pm_teacher),人人都是产品经理专栏作家。资深程序猿,专注客户端开发若干年,对前端、后台技术略懂,热衷于对新的科技领域的探索。

本文原创发布于人人都是产品经理。未经许可,禁止转载。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 讲到心坎里去了

    回复
  2. 分析的很透彻,尤其对我这种不懂研发的产品汪!多谢分享!

    来自北京 回复
  3. 可以交给技术经理验证吧

    来自广东 回复
  4. 这种问题表示遇见过~

    回复
  5. 还好哥学过代码,忽悠不了我。

    来自北京 回复
  6. 各有各的难处

    来自福建 回复
  7. 😮 作者说的没错,确实是这么一回事。但是也难免很多时候开发拿这个当借口来忽悠你。(所以遇到这样的问题产品经理需要问个究竟,判断一下开发说的是否是真的。)

    来自广东 回复
    1. 可是作为一个不懂技术的产品汪怎么办 只能白白的被开发忽悠了么 😮

      来自广东 回复
    2. 你不需要懂技术,开发给你讲东西,你仔细听就知道是真是假就好。瞎编造很难的。

      来自广东 回复
    3. 总觉得不懂技术,少了点什么,好像瘸了一条腿。 ❗

      来自广东 回复