21.Java编码优化
来源:互联网 发布:淘宝联盟域名要求 编辑:程序博客网 时间:2024/06/16 15:32
21.Java编码优化
转载请保留原文链接: http://dashidan.com/article/java/basic/Java编码优化.html
转载请保留原文链接: http://dashidan.com/article/java/basic/Java编码优化.html
一个工程代码量超过10w行,是什么体验?
混乱的结构,感觉就像是被强奸.清晰的代码结构, 就像读一个优美的文章,赏心悦目.这个正是我们追求的, 代码逻辑的美, 只有程序员懂.
① 写代码前的准备
- 编码思想
写出更优雅的代码,超越实现功能的要求.熟悉常用的设计模式. - 编码规范
参考规范. - 工具统一
多人开发同一个项目时需要注意:- 同样版本的IDE
- 同样版本的SKD
- 同样的代码格式化配置
② 一些建议
- 必要的注释是代码生命力的重要支撑.
- 需要改进的地方, 或者没完成的部分采用//TODO注释.方便查漏补缺.
- 合理的继承关系.
- 功能模块化.
- 清晰合理的目录结构, 根据功能模块分类明确.
- 合理利用成熟的设计模式.
例如:单例模式, 工厂模式, 观察者模式等. - 静态代码检查, 帮你做一些基本的逻辑检查.
例如: Intelij IDEA的findBugs插件, PWD - 效率优化,通过效率检测工具.
例如:jprofile,jmap,jstack等. - 有继承关系的类,能采用子类时,采用子类对象,省去父类强转的过程.
- 合理的log记录,方便debug.
例如: log4j - 清理无效的代码和注释.
- 尽量降低多维集合维度.
例如:二维数组,第二维长度不超过3时, 尽量采用多个一维数组. - 缩小变量作用域.
只有本类调用的方法和变量修饰为private.方法内的变量,用到时创建. - 方法复用.
Intelij IDEA中有个很棒的提示, 如果代码重复, 会在编辑器中提示.可以用这个功能检查重复代码. - 执行运算前判断参数是否合法.
例如:return 的合理应用,不合法return. - 创建工具类, 统一存放static方法,方便管理static方法.
- final的合理应用, 避免数据误操作.
例如:从配置文件读取的变量不需要的时候,设置为final,避免误操作修改. - 集合类操作的封装.
尽量采用泛型和接口来提高代码复用. - 高频次使用变量的临时记录.
例如:同一个方法内多次使用系统时间, 可以采用局部变量记录, 执行时用变量结果不用重复计算, 提高效率. - 降低定长集合的维度, 尽量减少循环嵌套, 降低集合维度.
ArrayList<Item> items = new ArrayList()// 改为定义3个对象Item item0;Item item1;Item item2;
- 复杂的判断条件拆分
如果一个判断语句太复杂,可以将其中的部分拆出来作为单独的参数.降低表达式复杂度. - 删除魔鬼数,采用常量定义.
public static final int THIS_IS_VALUE = 0;
- 移除不必要的局部变量, 降低无效代码量.
int type = obj.getType();if(type > 0){}// 可以改为if(obj.getType() > 0){}
- if情况超过3个时,切换为switch,switch情况小于3个时,切换为if.
- switch语句中,养成case和break对应的习惯,防止少写break,导致bug.
- 整合只调用一次, 并且代码量小于20行的方法到同一个方法中.
- 一个对象持有另一个对象的多个属性时,修改为持有对象,不重新声明变量及赋值.提高效率, 降低内存消耗.
- 互斥的if情况采用if{}else{}的结构,不采用if{} if{}的方式.
- 遍历HashMap采用entrySet替换keySet.
Entry 对象带有value属性,keySet遍历还需要get一次,Entry效率高50%左右.
③ 相关文章
Java从入门到精通目录
阅读全文
0 0
- 21.Java编码优化
- JAVA程序编码优化
- Java编码优化
- Java编码优化10技巧
- Java编码规范及代码性能优化
- java编码规范及优化总结
- java编码规范及优化总结
- 如何优化JAVA程序设计和编码,提高JAVA性能
- 如何优化JAVA程序设计和编码,提高JAVA性能
- 如何优化JAVA程序设计和编码,提高JAVA性能
- 如何优化JAVA程序设计和编码,提高JAVA性能
- 如何优化JAVA程序设计和编码,提高JAVA性能
- 如何优化JAVA程序设计和编码,提高JAVA性能
- 如何优化JAVA程序设计和编码,提高JAVA性能
- 如何优化JAVA程序设计和编码,提高JAVA性能
- 如何优化JAVA程序设计和编码,提高JAVA性能
- 如何优化JAVA程序设计和编码,提高JAVA性能
- 如何优化JAVA程序设计和编码,提高JAVA性能
- 约瑟夫环生者(JAVA)
- unity5.6+版本对移动端美术效果的提升
- design pattern 有规律小而精demo
- 171015linux下的虚拟机上外网设置
- 4.4 并行连接
- 21.Java编码优化
- [agc008d]K-th K
- 个人网站升级改版——在上次的那个稳定运行的阿里云服务器上(PhpStorm的Deployment)
- 设置select下拉菜单不弹出列表
- AfxBeginThread的介绍/基本用法(界面/工作)
- $.ajax({});的各个参数的理解
- openssl老版本编译
- 131. Palindrome Partitioning
- AMC美国数学竞赛考试时间