优化代码的若干策略
编写完成的代码,由于编写上的某种原因,有时候会出现运行速度慢的现象。那么怎么才能提高代码的运行效率呢?不同的人有不同的代码优化方式,一般开发者将代码中的低下写法改正后,代码就能满足性能需要,而高级的开发者,则会在更高层次上对代码、代码结构进行重构。总之,方式林林总总,下面就是自己在一次代码优化过程后,总结的各种优化策略。
1.首先,将代码中的各种低下写法统统改正。什么是低下写法?比如,频繁的装箱、拆箱,频繁的字符串+-等等。
2.重点改进程序的循环质量。代码中经常出现各种循环,而循环是造成代码运行效率低下的最重要原因(之一)。从而改进循环代码,提升循环效率就成了改进代码质量、提升代码运行效率的关键因素之一。经常犯的错误有:for循环中找到匹配值后,还不中断循环,继续遍历。能用foreach的,还在千篇一律的使用for。还有一个比较有效的策略是:找到,并处理完当前匹配项后,对循环列表进行删除该项操作,以便减少循环列表长度,这样也可以提升循环效率。减少递归使用也行之有效(此次就是在这里优化后,速度出现明显提升)。另外一种策略就是利用多线程、并行运算,这样也能很明显的提升系统的处理效率,但是若仅仅只有少量的循环,倒还不致于就用上并行计算的。
3.还有,可以对系统中经常使用(并且小体积)的对象及变量进行缓存。但是缓存本身是把双刃剑,并不是一味的使用缓存就可以万事大吉。滥用缓存的一个致命后果就是程序的内存占用一直很高,从而导致整体服务器很忙碌,这样一来似乎也不厚道,因为你占用内存多了,可供其他程序使用的内存就相应少了。另一个就是要处理好缓存失效问题,不然你仅仅用了几次对象,就让对象一直存在,这样对对象本身、程序都是不负责任的。
4.代码的结构。这个是个很模糊的话题,没法说的很清楚。但是有一点很关键。当你穷尽所有的代码片段优化办法,还是不能达到要求时,你就要考虑代码结构的问题了。优化代码结构,就是要求你跳出以前的代码编写思路,要么在原有的代码基础上进行扩展或者嫁接,从而画龙点睛,优化代码的整体结构。若时间足够,还可以对原有代码推倒重来,当然,你换用另一种代码思路时,必须对新的代码思路有了解,有验证才行。否则花费了很多时间,写了一种新的处理方法,效率却不尽人意。
5.调整数据库结构。这个略。
6.环境问题,比如更新硬件(当然是废话)。
总之,代码优化是个经验问题,是个责任心问题,还是个自我要求的问题、更是个自我提高问题。无论发生在何时何地,当需要进行代码优化时,都要明确代码的现状,优化的目标,以及各种优化的措施,只有在明确的目标,正确的优化方向,合适措施等等几个因素的合理叠加。优化代码才会成为开发者经常吃的一盘菜,为开发者提供更好的慰藉和鼓励。