互联网前辈总是说“bug是改不完的”,新入职的程序员应对bug:
1、在软件行业可能有一些新进的程序员都会面临着替别人改代码的情况。如果让一个人修改另一个人的代码,可能对于每个人来说都会是一种尴尬的情况。因为每个人的代码技术是不同的,而修护另一个人的代码bug,工作效率是相当低的。同时也会搞的那个程序员很没有面子,有时候是越改越糟糕,越改越痛心,不如重新另外写一个新的代码。对bug的时候不要出现消极的情绪。不管这个bug是不是自己所要面临的问题,都不应该觉得不是我的bug。因为这是职业修养的问题。面对bug的正确态度应该是积极的调试集中的检测,确定问题,找到问题的原因,然后集中精力把bug解决掉。
2、测试。可以选择一些代码会出现的结果与预期不符合的先解决这一类问题。因为这每一步的预期结果都是根据跟踪到的实际结果进行判定的。这样子找出来的原因,在开发环境当中是比较容易设置的。当没办法调试的时候,可以查看日志的方式判断是哪一步出现了问题之后再返回来进行调试。这样对修复bug而言是比较快而且比较迅速。
3、重写代码。最后如果是没办法的情况下当然是重写代码,但是这所产生的时间就会比较长。对于一个程序员来说,遇到bug是不用解释的,而且这是一种常见的情况。如果不能够把程序改好或者是实在没有办法改的情况下,也要解释为什么没有办法改,以及以后应该对这种情况如何做处理。因为程序出现错误是很正常的现象,而当机器不出现错误的时候,那是不可能的。
作为一个程序员,你发现同事写的代码有Bug,你会告诉他吗?讲真的,这个事情对我来讲,很难,因为我在这个事情上吃过苦头!看待这个问题首先得看对方脾气咋样,如果对方脾气不好,或者很难搞,还是想想其他办法。直接跟他讲可能会遭到对方的白眼!
别看我们程序员一个个傻傻呆呆的,其实自尊心特别强!除非你是他的领导,否则即使你发现了他代码里的Bug,他也不会服你!虽然还是会改,但内心一定在想:“就你能?自己管好你自己就成,看我代码干啥?”
其实我也是这样的心理,好像程序员除非自己愿意,否则都不怎么喜欢别人去研究自己的代码,好像对方故意找自己茬的意思。
但是不管咋样,不管是有意无意,我们既然发现了同事写的代码有问题,就不能坐视不管!
我最近在调一个小伙伴的接口时,因为涉及到数据回滚,所以就想知道他的代码有没有做回滚 *** 作。如果没有,可能我这边数据已经回滚了,他那边没回滚就会导致数据前后不一致。所以我也不是有意要审查他的代码。
然后我就发现他不光没有做回滚 *** 作,也没有做批处理。几个涉及到修改数据的代码就这样一行一行走下来,看着直让人挠后脑勺。
于是我就把这个事情告诉了他,让他要么做事物(如果 *** 作有问题,可以自动回滚),要么做主动回滚。否则我在调他接口时,如果我这边撤销了数据修改,他那边却提交了修改,就会导致数据丢失或前后不一致。
当我告诉他这个情况和解决方案以后,我能很明显地感受到他有点不愉快。但事实摆在眼前,也只能修改。可修改归修改,他还是有点脾气的。于是他写了一个事物,将大部分涉及到增删改的语句全部包在了里面,唯一把一个删日志的语句留在了外面。
我看到这个情况,就委婉地跟他说:“”好像这个删日志的语句也要包在事物里面哦!”
但是他却说,这个无关紧要,他特意放在外面的。
我跟他说,既然这里有数据存在,就不是无关紧要的。不管咋样,也不能无缘无故就把数据给删了。但是他很倔强,执意不改,还说如果我觉得这个数据有用,那就让我自己“顺手”把这里的代码改一下。
此时我能明显地感受到他已经有点烦我了!无奈之下,我把这段代码给移动到了事物里面。
而我为什么说我因为发现同事代码有Bug告诉同事而吃过亏呢?
原因在于我之前待过的一家公司,有一个工作了几年的程序员同事,而我当时是个萌新。因为我专门培训过,所以代码能力还行。可这个同事虽然工作了几年,但写出来的程序代码却Bug一堆,常规测试手段还测不出来。
我是在偶然之间发现他写的一个程序是有Bug,但是又不确定,所以就想看看他代码是咋写的。不看不知道,一看吓一跳,他写的好大一部分代码都有问题!
我当时初生牛犊不怕虎,发现一个跟他说一个,结果最后把他给惹毛了,当场就要跟我动手,说我专门针对他。我哪有针对他的心呀!我当时想的是把这些Bug找出来,让他改掉,否则对公司也不好。
但是他想的估计是被我这个萌新发现了一堆Bug很丢人。我总是针对他的代码找Bug,他就是脾气再好也绷不住啊!
后来我们的部门经理为了不让他难堪,也为了给他个台阶下,找了我写的程序里的一个缺点,猛批了下,然后跟大家说:“我刚才看了看,大家写的代码有好多问题。这样,大家都各自检查一下自己的代码,看看有没有问题,有问题尽快改过来,然后我们统一测试!”
直到现在,我也没学会当发现同事代码有Bug以后,在不让同事产生不愉快的心理的情况下,委婉地告诉同事他代码写的有问题的方法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)