0人赞同了该回答
众所周知,各大手游在发展更新过程中,必定会接纳部分玩家建议对游戏进行优化调整,王者荣耀也不列外,近期官方通过各方渠道了解玩家需求之后,近期正式服更新和英雄属性调... 小编也是纳闷,强更版本之后,露娜技能衔接延迟也能优化成功吗? 2.杨玉环一遇见飞天技能优化变成红圈显示:其实这项名义上的“优化”除了美观之外,还让杨玉环的二技能更... 总的来说,这次官方皮肤优化进程曝光,对貂蝉和杨玉环的强势排名影响最大。但是之前爆料李白白凤求凰日以继夜优化,此次为什么没有公布进程呢? 并且修复哪吒2技能伤害减免图标...
优化和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: 严谨的代码逻辑
发布于2022-11-29