什么是优化和bug
问题描述
- 精选答案
-
优化和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: 严谨的代码逻辑
- 其他回答
-
优化:使用工具类,字符串工具类,时间工具类,Map工具类等等,都对平常比较常见的,容易调用出错的jdk方法做了二次封装,这些很容易在网上找到。
bug:不能达到预期效果的程序代码,统统可以称之为bug!这里说的不能达到预期效果比如说: 执行报错,结果不符合,无结果等等
猜你喜欢内容
-
简单网:构建全网教育数据枢纽,让知识检索化繁为...
简单网:构建全网教育数据枢纽,让知识检索化繁为“简”回答数有0条优质答案参考
-
去三亚有什么好玩的地方
去三亚有什么好玩的地方回答数有1条优质答案参考
-
石狮一日游必去景点推荐
石狮一日游必去景点推荐回答数有1条优质答案参考
-
电气工程师的证书考取条件是什么
电气工程师的证书考取条件是什么回答数有1条优质答案参考
-
房地产估价师的具体报考条件有啥
房地产估价师的具体报考条件有啥回答数有1条优质答案参考
-
房产经纪人的工作内容具体包含什么
房产经纪人的工作内容具体包含什么回答数有1条优质答案参考
-
学习小提琴都有哪些难点
学习小提琴都有哪些难点回答数有1条优质答案参考
-
企业行政管理证书的含金量怎么样
企业行政管理证书的含金量怎么样回答数有1条优质答案参考
-
初学者要怎么入门小提琴
初学者要怎么入门小提琴回答数有1条优质答案参考
-
报考珠宝鉴定师要啥条件
报考珠宝鉴定师要啥条件回答数有1条优质答案参考






