Java的代码质量优化的注意细节
来源:互联网 发布:关键词大数据 编辑:程序博客网 时间:2024/06/06 07:45
Java的代码质量优化简单介绍
一:写在前面--->软件质量有代码质量和文档质量来共同保证的.开发人员更应该在写完程序的时候,来化时间来优化自己的代码,达到更佳的效果.
二:代码优化的具体介绍如下---->
1.1避免使用空块:
具体包括如下的几点;多余的分号(if条件的后面);没有任何作用的大括号;try-catch-finally语句中的finally为空的时候,如果finally语句中不做任何的处理就不要使用finally语句的.
1.2避免使用空类:
如果一个类没有任何的使用价值就建议删除吧.
1.3:去除多余的import的包导入
如果导入的包没有用到就建议删除吧,导包的时候建议不要使用import x.*的方式,使用哪个就导入哪个吧.
1.4:剪切无效的代码
如果程序中定义的成员变量,参数,方法,类,临时变量没有使用就直接删除吧.
1.5:去除重复的代码
如果多个类里面含有在相同的方法或者是代码片段就去除重复的吧.改用抽取公共的就可以实现的.
1.6:优雅使用switch语句
每个分支都有break的,最后那个default break也不要省略的.放到最后去.
1.7:long型变量的定义注意细节
long型变量紧跟其后的是大写的L,否则会造成严重的可读性差,容易误解的.
1.8:避免一条语句中声明或者是赋值多个变量的.
虽然写在一行比较方便的,少敲代码,但是这样就会降低程序的可读性和可测试的.写开好读,也好发现错误的.
1.9:注意去掉控制标志的临时变量的.
一般在单一的出口下会给程序的结果添加一个控制临时变量的.建议去掉,直接使用return跳出分支语句的.
1.10:避免赋予临时变量的多个角色的
一个临时变量就赋予一个角色的,不要在赋予第二个了,这样就造成可读性查了一些的.赋予临时变量的单一职责的.
1.11:优化在for循环内使用增量因子的
直接在for循环里使用增量因子就比较好,放在里面可能会造成一定的误操作的.
1.12避免使用魔法数字
系统一般会默认0和1是非魔法数字的,其他的数字就不太推荐使用了.优化的策略就是分类讨论了;当不是类型码的时候就考虑使用常量代替的,当是有限个的类型码的时候,就考虑使用枚举代替的,操作简单.当有不定个的类型码的时候,就考虑使用类代替的. 多态代替条件表达式.
1.13: 使用BigDecimal类型进行精确的计算
精确的计算:有加减乘除的.
BigDecimal b1=new BigDecimal(999.00);
BigDecimal b2=new BigDecimal(899.90);
NumberFormat nf=new DecimalFormat("#.##");
System.out.println(nf.format(b1.subtract(b2)));
1.14:避免混用+号的.
1.15:避免使用过时的API的.
1.16:对比较臃肿的方法要记得瘦身的.(合并方法和分解方法的)
1.17:避免创建不必要的对象的.
1.18避免自己的特有工具类被实例化的,可以提供一个对外服务的方法的.防止自己的算法被修改的.
1.19:接口隔离原则的优化.
接口的粒度不要太大了,不要包含太多的方法了.按照方法的功能,分解为子接口的.新接口替代原来的接口的.
去除继承原来臃肿的接口的没有使用的方法.
1.20:以委托代替继承,降低耦合度的.里氏替换原则.就是子类不能覆盖父类非抽象方法.否则会造成偷梁换柱的后果的.就是子类重写方法改变了父类方法的本身的意图的.
具有继承关系的类设计和优化的时候要注意的时:
1:子类可以实现父类的抽象方法的;
2:子类不能覆盖父类的非抽象方法的.
3:子类可以增加自己独特的方法,来体现自己的特点.
1.21:包的优化
用于发布的包下存在重用以及不可重用的类的.保持包的清晰度的.一般继承关系或者是包含的关系的类就要放在不同的包下的.
1.22:继承父类的方法,不可重写父类的静态方法,静态方法的入口是父类的.在Java8直接就在提示错误的.
1.23:合理放置静态块的位置的,静态变量是在类被加载的时候就分配到了数据区的.会赋予变量默认的初始值.申请内存空间和初始化赋值是两个步骤的.
1.24:使用string.equals("String")带来的弊端;
"String".equals(str)会避免NULL的判断的。对比一下就非常的清楚了.
if("Hello".equals(str)) VS if(str!=null&&str.equals("Hello"))
1.25:封装类成员的.(类方法和类变量的)
一个类对外提供服务,就只对外提供一个可以调用的服务方法就可以了,只有自己如何提供的服务的业务方法就要私有化的,通俗的说就是别人家的资源不能随意使用,自己家的资源不随意开放!
初步总结了一下,后面还有很多很多的.在不断的补充吧.
- Java的代码质量优化的注意细节
- Java代码优化必须注意的细节
- java性能优化注意的几个细节规则
- java性能优化注意的几个细节规则
- java性能优化注意的几个细节规则
- java性能优化注意的几个细节规则
- Java性能优化注意的几个细节规则
- java编写代码需要注意的小细节
- 提升java代码可读性应注意的几个细节
- MySql数据库优化注意的四个细节
- 写代码要注意的细节
- 写代码要注意的细节
- 提高你的Java代码质量吧:不容忽视的四舍五入细节
- 提高你的Java代码质量吧:不容忽视的四舍五入细节
- 提高你的Java代码质量吧:不容忽视的四舍五入细节
- Java代码优化细节
- java代码优化细节
- 提高你的Java代码质量吧:注意@ Override不同版本的区别
- Kylin设计Cube
- Ubuntu环境下TensorBoard 可视化 不显示数据问题 No scalar data was found...(作者亲测有效)
- java.lang.IllegalStateException: No tab known for tag null
- Python在Windows环境下处理文件路径问题最佳实践
- Codeforces Round #435 (Div. 2)C,D,E,F题目详解
- Java的代码质量优化的注意细节
- struts2 Action如何返回到视图中
- 微信:微信扫码支付、调用统一下单接口、网站支付 + springmvc
- 游戏中用到的方向向量
- HDU 4739 Zhuge Liang's Mines 暴力 or 状压.
- PHP字符串转时间问题
- Leetcode之Merge Intervals 问题
- 12.3 第一个Spirng应用单词表:HelloSpring
- CSI ETABS 2015 v15.1.