java代码优化
来源:互联网 发布:射手 mac 字幕 编辑:程序博客网 时间:2024/06/10 23:09
下面讲一些代码优化的事情
- 还记得刚开始写代码的时候,遇到过一个简单的编程程序,根据班上同学考试的分数来分类,90~99为A,80~89为B,70~79为C,60~69为D,0~59为E,相信大家随便都能写出来,代码如下
public char typeOf(double score){if(score >= 90 && score < 100){return 'A';}else if(score >= 80 && score < 90){return 'B';}else if(score >= 70 && score < 80){return 'C';}else if(score >= 60 && score < 70){return 'D';}else{return 'E';}}
很简单的就写出代码来了,那我们现在来分析下运行时这段代码的状况,假设,我们现在计算一个班(30人)的数据,正常情况 [90-99] 和 [0-59] 都是比较少的,而 [70-90] 的比较多,先假设 [90-99] 只有1人,而[70-90]的有20个。这个时候,有20个[70-90]的需要多判断一次【是否是[90-99]区间的】,那么就无用的判断是20多次。如果把上面的代码中,判断[90-99]的放在[70-90]判断的后面,1人是[90-99]之间的,只多了2次判断([80-90] 和[70-80] 的判断)。通过这个例子,想说明的是善用if else。 - (不喜欢个人心理活动的,可以直接跳到粗体字部分)最近一直在看代码,看到了很多的错误,也看到了自己的不足,刚开始接触别人的代码有点无论怎么样还是有点抵触,倒是后面看多了也就习惯了,现在回想反思一下,看到了自己的不足,为什么自己当初就不能正确面对看代码这问题,面对好的代码,学习人家写得好的方面,面对写得不太注意的地方,自己反思自己是不是这样写的,然后也能或多或少的有两点,好了不扯远了。回归主题:介绍一下场景,在数据库有配置create_table_handler字段,并在spring的xml里面配置了相应的子类,下面的代码片段就是从配置中获取id,再根据id获取对象,对于spring的Application获取不做介绍,大家可网上查资料很多。先贴出代码:
public static <T> T getBean(String name) throws BeansException {return (T) applicationContext.getBean(name);}
if(tableInfo != null && tableInfo.getCreateTableHandle() != null){CreateTableDefaultHandle handle = SpringContextUtil.getBean(tableInfo.getCreateTableHandle());if(handle != null){try { handle.createTable(null, this.getRequest());} catch (BusinessLevelException e) {e.printStackTrace();}}}
上面的代码总体上来说写得很严谨,每个使用的变量的非空校验,但是对于Sping的getBean,我觉得使用的地方应该不会少,而每处都要在使用getBean()之前校验传入id的判断,在我感觉有点有点越俎代庖了,这个校验我觉得应该交给前面的代码自己处理,自己根据情况才决定返回null或者对象或者抛出异常,而且这样写的会为代码缩减很多代码,也更符合面向对象代码。 - 偶看代码,看到下面的代码,自己有一个小小的优化。
for(BusUnitProject pj:projectList){ if(!hasHoliday){hasHoliday = pj.isHoliday();}weekReportKey = saveOneProject( keyId, pj, curRpBase, weekMap);}
修改后:for(BusUnitProject pj:projectList){hasHoliday &= pj.isHoliday();weekReportKey = saveOneProject( keyId, pj, curRpBase, weekMap);}
0 0
- java代码优化---->性能优化
- Java代码优化TIPS
- 如何优化JAVA代码
- 如何优化 JAVA 代码
- 如何优化java代码
- Java代码优化方法
- JAVA代码优化
- java代码优化
- Java代码优化策略
- java 代码优化
- java 代码优化
- java代码优化
- JAVA代码优化
- Java代码优化分析
- Java代码优化
- java代码优化编程
- java 代码优化
- java代码优化
- typedef的常用用法
- 绘制TileMapRenderer后再绘制的图形变白色方块的问题
- unity发布exe全屏方法
- Android平台多线程实现生产者-消费者模型
- MyEclipse如何汉化
- java代码优化
- 存储过程的小例子
- 查找.gz文件的某些行匹配情况
- tmux 快捷键 记录
- dfvdfv
- 如何才能提高Java Web性能?
- 对数组中含特殊符号记录过滤并分组
- 学习C/C++语言:用选择法对SIZE个整数由大到小顺序排序
- 代码中特殊的注释技术----TODO、FIXME和XXX的用处