昨天拜读了范学雷老师的代码精进之路第一篇,很有感悟,今天继续来读一读第二篇,昨晚想多看几篇的,结果去健身耽搁了,话说运动运动有点舒服,据说多运动肾好也不知道真的假的,话不多说我们说正事(又有点击查看源网页,无所谓,你们自己启动眼屏蔽就行了)
范老师的第二篇讲的是把错误关在笼子里的五道关卡
作为一只正在努力成为老母鸡的小菜鸡,我也是看完文章才知道原来苹果ye也爆出过这木简单而又严重的代码错误,一场由多加一行goto fail的引发的惨案,不吹不黑,就这种错误我常出啊,看来我再不知不觉中已经有了苹果工程师的水准了吗,这木神奇的吗?其实仔细想想也是,再大的公司再厉害的大牛,也不可能做到一点问题没有,毕竟我们又不是神,所以肯定有存在思维上的局限性。
其实在我个人看来出bug并不是一件很坏的事情,相反我觉得还是一个非常好的事情,他能给你当头一棒,让你知道这里我不该这样用,这里我应该怎么修改
范老师一共总结了五条将bug关在笼子里方法
这跟关羽过五关斩六将一样,bug就是关羽,而你就是守城的小老弟,要是五道关口都被过了,恭喜你怕不是又要被老大按着头怼,这木简单的代码你都能写成这样?
程序员属于第一道关卡,一般来说,守在前面的都是比较菜的,但是我们可以通过提高自身的素质来守住bug,这里我们先不谈技术行不行,就谈一下规范,当你写代码的时候正确使用缩进,以及注释以及配对括号,那是不是会大幅度降低我们出bug的概率,退一万步讲就算出了bug我们也能较快的定位出bug所在。
第二道关卡就是我们的编译器,这个比我们老婆还亲,我这木说,你每天盯着他的时间比盯着你老婆的时间长太多了,是不是(当然,没老婆的那可就难受了啊,螺旋嘲讽)
当我们编码时,编译器会爆出一些警告,对于警告,我们一定要提高警惕,最好是清除到所有的警告,防止后续出现问题
第三道关,回归测试,这个环节就需要测试人员来协助老大一起怼你了,每次我们测试从我身边过我都瑟瑟发抖,生怕自己的bug出了代码,吓得我话都不会说了
第四道关,代码评审(Code ReView),这个环节是需要钛合金狗眼发挥作用的时刻了,一堆眼睛一起检查代码,以揪出被忽视的错误
最后一关,代码分析(Code Analysis),静态代码分析(Static Code Analysis)是通过对源代码的检查来发现潜在问题的⼀种软件质量保障⽅式。有很多静态代码分析⼯具可以帮助检查代码缺陷,⽐如说商业软件Coverity,以及开源软件FindBugs,这关再过那怕是你又要在角落被人怼
为了更好的活下去,我们一定要尽量把bug掐死在第一关,而不是在第一关就被bug斩下狗头