导航:首页 > 软件知识 > 为什么程序员趴着改bug

为什么程序员趴着改bug

发布时间:2023-08-10 21:25:56

程序员为什么要一直改bug不能一次性写好吗

作为一名程序员,我也总是在调试,Bug总是防不甚防的出现,这个过程真是有趣又痛苦,最后我觉得习惯就好,一次性写出完美代码是每个程序员不可实现的梦想。

  • 程序员作为一项工作,是有任务有指标的,比起慢慢写出完美程序解决所有问题,大家更喜欢快速看到一个可以执行解决部分问题的程序,此时完成比完美更重要。

  • 没有哪个程序员可以写出完美的代码,即使高能又伟大的公司也做不到这一点,想想看你的手机软件是不是经常提醒你该更新了,连微软都在三天两头的让你打补丁,不是吗?

    ⑵ 程序员为什么要一直改bug 不能一次性写好吗

    程序写代码就像造一座大楼,如果即便经过严格的设计论证,装配高质量的部件,最后还有系统性地验收,让你去造这么一座大楼,你能保证不管是窗户安没安好,还是地基挖浅了挖深了,还是墙皮脱落,都一个问题没有?
    回想早年的小程序,执行某一个具体的任务,明确的输入输出,一般是不会有bug的。
    但现在的软件开发,早就已经不是一个人在战斗了,大部分的工程,开发规模5人左右居多,另外稍大的软件工程动辄几十人,更有甚者几百人的团队规模并行作业。你试想一下,要保证这么多人的产出都符合设计要求,势必需要合适的开发流程,需要更多的项目管理的技巧和方法。这就对个人以及团队的提出了非常高的要求了。
    软件工程的方法论中,要求软件开发者尽可能多地在软件测试阶段发现bug,而不是交付之后。
    但是楼主说的能不能让软件开发出来没有bug,我觉得把下面这几个事情做好,还是有可能的。
    1、花尽可能多的时间,和客户沟通软件需求,了解每一项需求的用意。
    2、确保软件需求不能随意变动,因为很多情况下一个需求的变化,程序会带来很多问题,有可能连底层结构都需要跟着一起变动。频繁的需求变动,加上开发周期和成本的约束,带来的结果就是软件质量的不可控。
    3、确保软件测试质量,完成全覆盖测试,设计系统需要的全部用例并保证全部通过。
    总结下,软件项目在实际开发过程中风险点还是很多的,通过合理的控制,可以降低和减少bug。但是软件本身是为人的需求而生,只要需求在变化,软件是永远都需要跟着去维护和更新的,所以只要有不可控的因素(需求分析,系统设计,系统详细设计,编码,单元测试,集成测试,系统测试,验收等)任何一个环节任何一个人产生问题,反映到最后的软件产品上就是一个bug。
    另外Bug分很多类,一类是对用户来说不能正常使用,能被用户感知到的错误。一类是用户能正常使用,但是有各种异常的错误。一类是使用没有任何问题,但是不符合产品预期的问题。其他应该还有很多,这里我们一一讨论。

    对用户来说不能正常使用,能被用户感知到的错误。
    其中一种情况是程序员和测试人员的问题,所有功能在上线前,工程师和QA人员应该测试,回归完功能。能被用户感知到使用流程有问题的话,一定是相关人员能力或者线上意识某一方面欠缺,也是最不能容忍的。
    另外一种情况是黑天鹅事件,什么网线被挖断,机房被炸,服务器爆炸什么的。。。。。。 ,这个说实话,出了在软件架构上做冗余,目前没有什么特别好的办法。

    2. 用户能正常使用,但是在用户看不到的地方有各种异常的。
    一个功能模块几乎不可能是独立的,它必然牵扯到其他模块。对于你所依赖的模块,你没办法保证这些模块是100%可用的。这个时候可能虽然有错误,但是只要不影响主要流程,我们依然可以正常使用。但这个时候对于外部依赖的异常处理,很考验工程师的能力。
    举个例子,有可能你看到的点赞数比你实际收到的点赞数少。这个是由于点赞统计在什么时候失败了一次,某些用户可能认为这个是bug,但是其他可能不会在意(当你有10001赞的时候,你在意少了1个么?)
    3. 使用没有任何问题,但是不符合产品预期
    这个更多的是研发和产品经理对于需求理解的不一致。因为文字是有二义性的,况且人和人对相同文本的理解本来就可能出现偏差,这就导致了需求理解的不一致,最终导致了线上产品不符合预期。对于内部人员来说,这个也算BUG。
    说了那么多,最主要的核心在于实现功能的是人。人不像机器,不可能不犯错;同样的,不可能存在没有bug的程序,像大家使用的windows,穷尽无数优秀的工程师,给予用户优秀的桌面体验的同时,也有你可能完全看不到的数千个bug。想要完全避免几乎是不可能的。所有也不存在一次性就写好的情况,鬼知道产品经理什么时候改需求呢~

    ⑶ 互联网前辈总是说“bug是改不完的”,新入职的程序员该怎样应对bug

    互联网前辈总陆雀是说“bug是改不完的”,新入职的程序员应对bug:

    ⑷ 如何看待程序员把Bug都改完就被开除了

    作为一名码农、程序员,加班算是家常便饭了。周一至周五晚上加、周末加、办公室加、回家加、有偿加、无偿加……确实让人看见就怕。
    但是你加班的原因是什么呢?让我们一起来看看下面两个例子。
    01 程序员踩点下班,领导:不想干的请办理离职,我这里不养闲人与废物
    在职场上加班不是目的,加班是为了完成工作,当员工能在正常上班时间内完成工作,无需加班,这时候作为领导也就没有必要让其留下来加班。
    然而也有一些公司领导不看产出只看员工加不加班,就有一领导经过几天的观察,发现新来的几名程序员每天晚上不到八点就早早的下班走了。
    对此这名领导很生气,想管管这群新来的程序员,于是在群里通知称:
    都是干嘛使的?八点不到都 TM 走了!不干的直接说,现在就表态度,我这里从来不养闲人,也不养废物!不干的不想干的都去人事那里办理离职。
    其实员工有这种心态实在人之常情。但退一步想,为何老板却能做到 5+2、白+黑呢?难道老板们都是铁打的?都是超人?非也,只因他们是经营者,他们为企业负责,为自己负责。
    员工往往拿的是固定工资,所以这就导致了老板与员工焦点矛盾的局面:老板只关心利润,员工只关心工资。

    ⑸ 程序员改bug 问题是怎么改好的

    其实程序员改bug也是有学问的。程序员改bug跟医生治病是一样一样的,无非一个是给机器看病,一个是给人看病。首先,一定要准确的定位引起bug的真正原因。定位问题,需要程序员去读代码,了解流程,弄明白来龙去脉。其次,定位bug源头之后,就需要去分析解决问题的方法。分析问题,需要综合相关知识,熟悉它所用到的一些机制,找到最佳解决方案。拿Android来说吧,比如修改wifi的bug,就需要弄清楚wifi的流程,stateMachine机制,消息机制,当然最基本的四大组建及其机制是必不可少的,哪里都有用到。然后,才是去coding。当然coding,也应该注意一些问题,比如,风格尽量和源码保持一致。Google那批程序员功底还是可以的。注释一定要清晰,包括作者,改动时间,以及原因。最后,要强调一点,改bug一定要彻底。不能改一个bug一起另外一个或者一堆bug。一定要避免这样的情况发生。我们公司就一个刚毕业没多久的程序员,改bug不彻底,只改了界面显示,弄的实际功能废掉。对于这样的代码,我只想说两个字:垃圾。另外,改bug要和相关模块的工程师讨论,因为他们或许就是这方面的专家,这样才能写出优秀的代码。

    有的人改bug改了几个月,就会分开发的任务,或者层次更深一点的任务。有的人从进公司就一直改bug。不能否认公司方面有一定问题。但程序员也应该从自身方面找找问题。你写的代码是最高效的吗?你写的代码让别人很容易看懂吗?你写的bug让别人呲之以鼻还是赞叹不已?如果你做的不够好,就不要整天抱怨:“又让老子改bug,老子从进公司到现在都一直在改bug!”

    ⑹ 程序员为什么要一直改bug,不能一次性写好吗

    软件可能在使用过程中没有任何问题,但不符合产品的预期下图源自“How projects really work?”,很形象的突出了客户需要的产品和最终得到的产品不一致。


    所以软件想要变得成熟,Bug收集和处理机制是非常有必要的,比如:会影响客户使用的优先级高的Bug要优先修复。Bug是软件的影子,也是程序员的噩梦实际上不能存在没有bug的软件,Bug和软件如影随形。就像我们使用的Windows,穷尽无数优秀的软件工程师来设计给用户优秀的桌面体验,但也有各种层出不穷的bug。

    程序员对Bug有多爱就有多恨,Bug无处不在,即使再牛逼的程序员也逃脱不了Bug的魔掌。想要完全避免Bug几乎是不可能的,所以也不在一次性就写好的程序。以上个人浅见,欢迎批评指正。认同我的看法,请点个赞再走,感谢!喜欢我的,请关注我,再次感谢!

    ⑺ 程序员不喜欢什么,在广州蓝景做开发的朋友说,他不喜欢加班改别人的bug,你们呢

    程序员最讨厌不确定性。
    Debug的时候,在怪异再棘手的问题,只要可以稳定重现,都迟早可以解决。“稳定重现”的意思是只要按一定的步骤做下来,问题就可以重演。
    最讨厌的就是那种时有时没有,不知道什么时候出现的bug。改了代码不知道有没有效,也不知道是否引入了新问题。可以把码农逼疯。
    引入到生活中对人对物的态度也是一个道理。无缘无故发脾气又不说为什么的女朋友,言而无信说到做不到的人,约好的事情被放鸽子... 这些都是不确定性。
    程序员对不可控的不确定性因素也是有解决方案谈团的。在代码里头把异常try-catch-finally一下,做好补救收尾,在加上几行注释警醒后来人这里别乱动。早陪对随机发生的问题,对应方案就是假设这里永远都会有问题,把随机的行为转化为降格的确定行为。就比如随机发脾气的女朋友吧,就含睁橘会放弃研究发脾气的原因,不求治本,而是假设她永远会发脾气,专注“哄”的工作也就是catch里面的内容。

    阅读全文

    与为什么程序员趴着改bug相关的资料

    热点内容
    不懂技术的是怎么成功的 浏览:689
    花生的产品有哪些 浏览:977
    股票交易如何选价格 浏览:996
    如何给产品标签 浏览:439
    四川南充有哪些水果批发市场 浏览:375
    从市场买回来海带怎么清洗 浏览:394
    程序员一般精通多少门 浏览:930
    技术转做销售怎么样 浏览:376
    为什么警察会抓捕犯罪人信息 浏览:560
    otg数据线用什么手机 浏览:188
    重庆生发产品有哪些 浏览:127
    代理是怎么做到的 浏览:786
    法院执行划扣程序多久到账 浏览:97
    什么样的产品适合孕妇 浏览:286
    线上哪些平台可以卖产品 浏览:997
    轴承工程师产品有哪些 浏览:27
    二手老车交易费用有哪些 浏览:562
    成都葡萄酒代理多少钱 浏览:813
    产品检验叫什么工种 浏览:68
    想开美容店做什么产品 浏览:32