如何避免编程中的BUG

这段时间的开发总是在自己给自己挖坑,进入了一个创造BUG登峰造极的阶段,前两天看了一篇类似鸡汤的东西
为什么你有10年经验,但成不了专家
上面提到了刻意练习度的问题,很有道理,前提是你要进入“自动状态”,简而言之就是下意识的去做出反应,但是就像有人说的,你的努力程度还到不了跟别人拼天赋的地步,还没有到“自动状态”的程度,所以特此在这里反思一下,如何避免挖坑跳低级情况发生。

挖坑跳到底有多恐怖

并不是任何解决BUG的过程都能成长,解决自己给自己埋下的逻辑性BUG,除了能让你意识到自己有多二之外么有任何效应。
如果这样计算,做一个功能需要2个小时,然后在这两小时里面你埋下了3个坑,然后花费3个小时或者更长时间来解决这些并不容易发觉的问题(通常这些坑不是你故意造成的,所以你会觉得,对呀~就是这样啊~没毛病啊~怎么回事呀~我靠?~)那么一个功能花费的时间就是5个小时,基本一天什么也干不了了。知道了他的危害,就要想办法绕开它。


一个功能对其他N个功能会产生影响

当一个功能涉及到其他边边角角太多的时候,千万别贸然就按照自己的想法去做,同样,当这个功能出现BUG的时候,也千万别贸然就去改正,也别贸然相信自己的记忆力和别人的记忆力。把能影响到的功能都写到纸上吧,但是还不够,还要把你做的每一步的操作影响到了谁,会产生怎样的结果预判出来,而解决这种情况的最终方法还是要有一个好的架构。

思考问题不够全面

我想这种问题应该可以把自己当做一个用户,一个学前班就留级,小学上到一半就跟不上辍学在家的用户。然后像想一万种操作情况,甚至你都要考虑到用户没有四肢,而是用舌头舔屏幕操作的,最后找到一条相对兼容所有情况的方案。

在这里我想向一位同事学习,如果他说完一句话,有人笑了,他会问为什么,如果你觉得没有什么可说的,就是一个自娱自乐,没有必要告诉他,OK,那么这件早上发生的事,他会早中午吃饭的时候继续追问。起初我觉得这简直不可理喻,但是时间长了我发现,这种心态太难的了……他会想出各种刁钻刻薄的情况,以至于他写的东西一直都比较完善。总而言之,就是要有打破砂锅问到底的感觉。

对知识的理解不够深入

这个就不多说了,瞪眼儿抓瞎,干巴儿着急,俩人儿掐架,技不如人,死于马下,不服不行。只能学了。但是栽到这种地方是对你有帮助的。

两种情况

暴风雨来临的前夜总是平静的,BUG亦然,一段程序只有两种情况会出现BUG,一种是简单到一眼看不出来BUG,一种是复杂到根本看不出BUG。

但这两种情况有一个共同点,就是设计初期就错了,而后者更严重的是,在代码结构上也有问题,这就意味着随着功能不断增加,他会变成一滩你再也不想靠近的烂泥。

首先这体现了代码设计初期是多么重要,这个前面说过了,其次就是良好的编码习惯了,这个说着简单,做起来也不难,其实就是一些标准规范和平常培养习惯的问题了。

在有就是,不要总想着差不多,要想着没问题。在思考问题不够全面的那一小段的开头,我用到了,“我想应该可以”这样不确定到死的前缀,这就注定了我制造BUG的命运……

结束语

未完待续,豆芽再高还是个菜,继续完善,继续学习吧……

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值