说说bug,及代码优化

说起bug,这个伴随程序员一生的名词,在it行业,应该没有人对他陌生!做开发多年,见过各种各样的bug,也见过很多对bug的优秀解决方案!这里仅仅说下我自己对bug的产生,及优化的理解!

 

首先对bug的理解: 不能达到预期效果的程序代码,统统可以称之为bug!这里说的不能达到预期效果比如说: 执行报错,结果不符合,无结果等等

 

对bug,我分为以下几类:

1: 书写bug

2: 逻辑bug

3: 业务bug

4: 无异常处理bug

 

下面分类说明下各类型的bug

1: 书写bug

因书写代码,对编程语言理解不透彻,对方法使用不准确造成的bug

经常遇见的有: nullpointerexception,类型转换异常 等

这种bug一般出现在初级程序员身上,对编程语言没有深入的理解,在代码编程上没有过多的经验,编写代码,仅仅是根据函数语义编写,不考虑函数的具体实现! 最简单的例子:1/0 这个表达式在编译器不会报错,但是执行一定会报错,那么当 在使用arge1/arge2 这种表达式计算的时候,是不是要进行参数判断呢!在举个例子:(String)arge1, 很常见的强制转换,但是也是最容易出错的地方,arge1如果是Long 等类型,则会报错!

那么针对此类型的bug,有没有什么好的 办法避免呢?

有,当然有,使用工具类,字符串工具类,时间工具类,Map工具类等等,都对平常比较常见的,容易调用出错的jdk方法做了二次封装,这些很容易在网上找到!当时,我一直说:知其然,后知其所以然,对大神的工具包类,我们是需要仔细研读的, 没为什么这么些,可以避免什么报错,这些都是我们的编程经验,总之,多想,多看!

2: 逻辑bug

前后逻辑对应不上,即代码逻辑混乱,不易阅读,代码前后不对应等问题造成的问题

这种情况一版都是不良代码习惯造成的,、或者是代码初期项目架构不合理,造成代码分支判断不合理等! 这种bug一般不易改正,或者改正一个bug,造成新的bug! 这种情况特别是在离职率比较高的项目中,最容易出现!

这种情况就需要程序员的个人修养了!良好的代码书写习惯(变量命名等),熟练的设计模式使用、代码注释等,提高代码可读性!

 

3: 业务bug

这种和具体的业务逻辑相关了!

之所以单独列出来是因为作为程序员虽说不搞需求,但是也要把需求理解清楚。 需求的逻辑也就是代码的逻辑,理解通透了才能组织自己的代码,设计自己的代码!

 

4: 无异常处理bug

要善于使用try{} catch(){} 异常处理逻辑块,记录报错日志到日志文件! 为什么要用这个?难道不应该有异常就接触程序处理吗?

这里简单的说下异常处理的使用:

1: 记录日志

2: 屏蔽一些非关键逻辑造成整体逻辑处理失败

3: 增加程序结果返回

4: 部分代码强制要求异常处理

对于一个大型的项目来说,异常处理是非常关键的,后期的问题核查,报错分析等,都少不了使用这些日志的!

 

总结下:

对于写出优秀的代码,会有如下品质:

1: 善于积累 积累有修改的代码,积累知识底蕴

2: 培养自己的良好代码习惯

3: 优秀的代码注释

4: 严谨的代码逻辑

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值