当前位置:C++技术网 > 资讯 > 珍惜每一个Bug,喜欢Bug,爱上Bug

珍惜每一个Bug,喜欢Bug,爱上Bug

更新时间:2016-03-05 20:51:08浏览次数:1+次

    在找工作时,被考验最多的就是解决问题的能力。面试官通常提出某些比较复杂或者麻烦的问题,让你去解决。这些问题通常也经常在工作中出现。这些问题通常就是常说的Bug。
    对于一个程序员解决问题的能力的观察,主要是看程序员是分析Bug和解决bug的过程。对于遇到过多少Bug,数量上没有太大的关系,但是分析问题的方式和解决问题的方法则非常重要。
    在各行各业,做各种工作,总会出现各种问题。在编程时都叫做bug。而非编程行业,叫法不一样,不过性质是一样的。对于有经验的人来说,不会在问题出现时一筹莫展,而是有一套分析问题和解决问题的方法。有了这个方法,即使是出现未知的问题,通过这些方法,基本上也是可以找到问题,并加以解决的。这种经验是冒充不了的,有就是有,没有就是没有。这种经验看书是学不来的,必须通过实践,才能够培养出来这样的能力。
    所以,对于有经验的程序员来讲,考察的重点就是解决问题的能力。所以在面试时,基础语法都可以不考,但是解决问题的能力是至关重要的。这也是公司选择有经验的应聘者的一个重要参考点。
    是不是这样的经验只有通过工作才能获取呢?其实不然。一般来说,个人如果没有项目的话,涉及到的面窄,遇到的Bug都很小,也不能很好的得到锻炼。这是很多新手程序员没法做到的一点。但是,只要努力,新手程序员也是可以接触项目的,从而进行锻炼。
    如果是在校生,可以参加老师的项目,主动参加,解决问题,然后在克服技术问题和解决大量问题的过程中,也就积累了解决问题的经验和能力。当然,如果只是应付性的解决,是不能够达到要求的。因为有时候你解决的问题并不一定真的解决的。当你没有找到根本原因时,只是治标不治本,就算解决也不彻底,而且,也是稀里糊涂的解决的。这种方法不是不可以,在有些时候,很管用。但是从提高自己能力的角度来看,是不可取的。这样的问题即使解决了,也无法吸收很多宝贵的经验。所以,在暂时应付了问题的同时,最好再深入研究和分析,找到问题的根本点,加以解决,这个过程要对分析逐步的分析,然后找到根本点,也就好找解决方案。这样的要给完整的过程,将会大大提高你的解决问题的能力。
    当然,补充一句,解决问题之后,一定要记得及时总结归纳。如果问题可以一般化,那就升华问题,归类成一个Bug模式,以后再遇到类似的问题,都可以通过这样的方法来解决。如果不总结,可能时间长了之后,淡忘了,也模糊了,对于今后遇到类似的问题,没有很好的指导。
    在解决了大量的bug之后,你的经验就很丰富了。这个和时间没有关系。如果你项目集中的问题比较多,然而你集中解决了很多问题,这可以让你在短时间内迅速提高解决问题的能力。如果你长时间写的软件不温不火,也没有什么大问题,实际上对你的能力提升帮助不大。
    很多人在遇到Bug的时候担心不已。实际上在每一个bug面前都可以学到不少东西。如果编程都是顺风顺水,不可能。就算没有什么大问题,你也是一个能力一般的程序员。没有经过Bug洗礼的程序员,根本就不是一个合格的程序员。如果你什么都中规中矩,不敢尝试,可能出错的概率是小,同时成长的空间也就少了。我们没有必要害怕Bug,更多要喜欢bug。当我写了一段代码后,编译没有任何bug,反而感觉有点不安。这就是一个心理状态的转变。
    在学习编程的时候,很多人都是照着书上的例子写代码,生怕出错。这样即使写完代码,没有问题,实际上还是没有真正掌握。如果你了解了思路,从头完全写一下,你会发现到处都不会写。此时会有点难过,但是这是正常的情况。只有你写完了整个代码,每一个细节都清楚了,也就掌握了。至于熟不熟,你自己都能够写一遍出来了,那就没有问题了。
    如果你没有机会参加老师的项目,也没有项目可以做,你完全可以自己找一个软件,尝试做出来。可以仿照一个软件写出一个一样的,或者自己设计一个软件,来实现一些功能,解决现实的需要。这样可以在一定程度上锻炼自己的开发能力。在开发的过程,从设计到实现,你都一个人把握,也能了解到一个软件开发的整个过程,虽然不是规范的,但是也不错。在这个过程会遇到各种各样的Bug,在解决Bug的过程中,不仅可以学到很多东西,也确实能够大大提高开发的水平。特别是,开发的思维变得越来越灵活,再需要一些需求的时候,可以快速构建实现思路,遇到一些问题的时候,也可以快速想到一些可能的解决方案。这一切都得益于Bug。
    所以,要想让自己变得更强壮,成为编程大神,就必须喜欢Bug,爱上Bug。