问题:代码Bug太多, 每次大家功能自测的时候,都能通过。 但提交QA后,总能发现bug, 即使某一轮测试提的bug全被修复,下一轮又会产生新的bug,总之不管怎样,Bug就是“野火烧不尽,春风吹又生”;

这个问题,我敢保证绝大多数开发者都经历过,也是让开发者、开发负责人、项目经理都感到头大的问题。

首先,我想说明的是,完全消除Bug是不可能的,我们不该也不能抱这这种想法、心态。 如果说哪天代码没有Bug了,那一定不是人在写代码,就算机器也代码,也不一定没有bug吧。

我想原因有以下几点:

  1. 项目架构的不太行:

    如果框架本身不好,那bug绝对少不了。 好的项目框架,可以减少bug;更好的项目框架,甚至让开发者连犯某些错误的机会都没有; 而不好的项目框架,还会帮忙制造bug。

  2. 项目进度不合理:

    2.1 一个功能本来需要10天,公司为抢占先机和节约成本,领导要求8天就要完成。 负责人也出于某些原因或目的,要求开发者7天就要完成。

    2.2 然而有些开发者觉得自己只要6天就能开发好(这个开发者的能力有关)。 为何觉得6天就能完成呢:
    <1>. 很多开发者多对任务有个错误的认识,认为就是写代码,实现功能而已。 而实际上还有单元测试、集成测试、接口文档、效率调优、依赖方改动适配,多场景自测等一堆的东西,都需要花时间去完成;
    <2>. 大部分开发者本身会过度的相信自己写的代码,不会认为自己的代码很脆弱;这种自信会让开发者不会也不愿意花太多时间去测试、去回归。

    2.3 再然后,领导说既然6天能完成,那加加班,按先紧后松原则,5天就完成吧。 由此,10天的任务,最后可能5天就完成了。

    – 代价就是后期会反复出现意想不到的Bug,看似意外却都在情里之中。 本来的先紧后松应该是: 紧紧紧松松松松,后来变成了:紧紧紧紧紧松紧紧紧松。 并且修复这些问题的代价,也远不止一开始省下的5天。

  3. 开发者本身的能力和态度问题:

    3.1 每个开发者都是从入门到精通,该踩的坑一个也别想少,所以写Bug是必然的。
    3.2 写代码这个事儿,本身是需要一些个工匠精神在里面的。 然而社会崇尚的是“效率至上”,这和“工匠精神”本身是有冲突的。 对部分开发者,会认为既有时间,为何不去学点新知识来作为以后跳槽和加薪的筹码,而要花在打磨代码上面。
    3.3 就像上面提到的,开发者普遍的有些过度自信,亦使其不会过多的自测。

  4. 制度或管理者本身的能力和态度问题:

    普通开发者权力有限,即使发现问题,并且难得的有去解决问题的决心,可最后只能解决好自己负责的模块。 因为对整个项目来说,他说了不算,是制度说了算,是领导说了算。 这个关于能力,关乎责任,关于权力,关乎面子,不必细说。

关于Bug太多问题的思考相关推荐

  1. oracle bug号,《一次Oracle bug的故障排查过程思考》的问题重现解决

    在<一次Oracle bug的故障排查过程思考>这个问题排查过程当中,当时和同事们一块儿猜想.实验.论证,昨天有幸,通过了精心设计,在生产环境中,进行了问题重现,以及解决的部分验证.sql ...

  2. 当node脱离v8_Node Bug 太多惨遭创始人抛弃,前端开发要变天?

    原标题:Node Bug 太多惨遭创始人抛弃,前端开发要变天? 曾经 Node 的面世,将 Java 首次带入了后端服务器端开发,不仅让诸多的前端开发者更能轻而易举地编写出高性能的 Web 服务,同时 ...

  3. 华为回应与陈春花教授相关传言;iPhone14Pro系列将独占A16芯片;Bug太多,Python 3.11推迟发布|极客头条

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  4. 华为回应与陈春花教授相关传言;iPhone14Pro系列将独占A16芯片;Bug太多,Python 3.11推迟发布|极客头条...

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  5. 一个JDK线程池BUG引发的GC机制思考

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:空无 来源:https://urlify.cn/63QrYv ...

  6. 50 岁老码农:Python Bug 太多,我选 Rust 和 Go!

    作者 | 伍杏玲 责编 | 唐小引 出品 | CSDN(CSDNnews) 这里有一位IT界的老司机,不,是久经沙场的老码农: Linux专家,几十年来开发不少免费的开源软件:Linux之父的同窗好友 ...

  7. 一个 Java 线程池bug引发的 GC 机制思考

    本文作者:空无 原文链接:https://segmentfault.com/a/1190000021109130 问题描述 前几天,在帮同事排查一个线上偶发的线程池错误 逻辑很简单,线程池执行了一个带 ...

  8. 提测bug太多怎么办?如何提高提测版本质量

    需要解决的痛点:怎么样让提测Bug少点 研发提测版本,一个版本上百个bug,怎么办? 引入 测试左移思维,建立严格的准入标准(研发自测.冒烟测试等),不符合准入标准,建立打回机制. 如果上面(研发自测 ...

  9. 从难免的线上bug说起代码的思考

    经常是某司线上又出bug了,然后是给公司造成多少损失,追根究底总是可以找到一些原因,诸如:写代码逻辑考虑不全面,或者代码有硬伤,也有测试不充分,甚至不测试都有,也有是运维的问题等等. 我对测试部专业, ...

最新文章

  1. 语义分割--Understanding Convolution for Semantic Segmentation
  2. (转)SpringMVC学习(一)——SpringMVC介绍与入门
  3. ×××S 2012 聚合函数 -- 介绍
  4. html5 --- 利用localStorage进行本地存储
  5. Mybatis配置文件参数定义
  6. oracle数据表空间与数据文件,oracle 操作表空间和数据文件
  7. 双11 拼多多iPhone 11系列香气扑鼻:最高降幅达1600元
  8. ssis 列转换_SSIS中的术语提取转换
  9. 手机APP移动应用开发
  10. Nacos 配置中心原理分Nacos 配置中心原理分析析
  11. 【更新】PDF控件Spire.PDF V3.9.463发布 | 修复多个PDF转换bug
  12. 代理服务器-贪心算法
  13. python缠论代码_缠论dll(czsc - 缠中说禅技术分析工具)
  14. QT线程创建的两种方法
  15. 单项选择题标准化考试系统
  16. HTML5 新特性(2)--Canvas
  17. [决策单调 分治] LOJ#535. 「LibreOJ Round #6」花火
  18. 360政企安全集团率先获得国家级安全运营资质
  19. win7桌面图标箭头怎么去掉
  20. 【线性代数】A为方阵,当存在B使得 AB=E ,证明BA=E

热门文章

  1. zabbix 监控tcp_status 状态
  2. 浏览器低延时无插件播放监控摄像头视频-接入LiveNVR支持HTTP-FLV分发
  3. MySQL(视图、存储过程与函数、流程控制、触发器)
  4. 计算机主机 响,电脑主机嗡嗡响是怎么回事
  5. Linux/Centos 安装oracle报错“调用makefile '/oracle/produc
  6. css的hover效果跟js单击事件发生冲突
  7. STM32中重映射的功能和机理
  8. 迅雷、快车、旋风解加密
  9. 数据结构与算法-链表试题(java)
  10. 关于博达CMS制作网站的心得与体会