原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址:程序出现bug是必然出现的情况还是程序猿水平有限导致的?
在不长的计算历史上,还没有人写过没有bug的完美软件,不大可能你会成为第一个做到这一点的人。
- 既然“写长篇出bug正常,发条短信就那么十几个字,错一个都不应该”;那么我们把长篇拆开成若干章,一章只写3000字呢?再把一章拆开成若干段,一段只写数百个字呢?
- 低级bug:100%是程序猿的锅,不仔细看需求文档和设计文档导致实现结果偏离需求,写的时候不认真各种说出来丢人的拼写错误,写新代码不知道考虑对已有代码的影响上手就胡来,写完代码自己都不自测一下就提QA。这都是没有职业修养的表现,QA测出bug你不背锅谁背锅!
- 业务逻辑bug:通常源自需求沟通出现问题,这往往是所有人同时出问题,而不是某一个地方出现问题。第一环节是需求方自己说不清楚,第二环节是需求分析师没理解需求,第三环节是设计师没有动脑子还没做设计评审,第四环节是不跟需求方做需求设计确认。
- 深度逻辑bug:不能把锅推给任何一个人,设计、开发、QA全都有责任,但这种bugQA通常根本测不出来,一般要上线稳定运行好久才被发现,而且会相当难解决。
- 性能缺陷bug:逐层背锅吧。开发能力不足,原子功能执行效率低下;设计不合理,高性能原子功能组合成模块性能低下;架构不合理,高性能模块联合成整个系统死活是玩不转。
- bug数量和系统复杂度和开发时长成正比,程序员对系统的熟悉程度成反比。水平再高的程序员扔到一个非常复杂开发了十几年的系统里,照样容易出bug。
- 人类不是个很靠谱的东西,总会有随机错误,即使打字录入这么简单的事情都有1-3%的错字,何况写源代码这种比打字难得多的事情。在研发成本投入足够,开发商也重视质量的前提下,bug数量主要取决于测试,而测试是否充分主要是需求决定的。也许会有个别程序员水平欠佳,但是在测试充分的时候他们很快会被发现。
- 上古时期,绝大部分书籍后面都附着几页『勘误表』,告诉你某页某行有个错别字,正确的应该是什么。
- 你踩到屎的时候,是怪自己不小心,还是怪那个随地拉屎的人?如果一个程序员bug很少,那大概是他没有遇到那些屎一样的需求!!!
- bug就是程序员的成长催化剂,遇到了,搞懂了成长了,以后再写代码就会有更多的提前预见。然后bug逐渐减少。要说bug~程序员天生不就是来创造bug然后解决bug的吗?
PS:最最大的bug是,明明程序运行的好好的,但项目失败了。你叫程序员怎么查?我只是个搬砖的,大厦为什么会倒,我哪知道啊~