《Java工程师必读手册》——Java极客主义系列——Java代码精简之道(5)

简介: 《Java工程师必读手册》——Java极客主义系列——Java代码精简之道(5)

接上篇:https://developer.aliyun.com/article/1227325?spm=a2c6h.13148508.setting.16.34364f0esCxN3Z


五、 利用工具方法

 

1. 避免空值判断

 

普通

 

image.png 

 

精简

 

image.png 

 

2. 避免条件判断

 

普通

 

image.png 

 

精简

 

image.png 

 

3. 简化赋值语句

 

普通

 

image.png 

 

精简

 

image.png 

 

注意

Arrays.asList返回的List并不是ArrayList,不支持add等变更操作。

 

 

4. 简化数据拷贝

 

普通

 

image.png 

 

精简

 

image.png 

 

反例

 

image.png 

 

精简代码,但不能以过大的性能损失为代价。例子是浅层拷贝,用不着JSON这样重量级的武器。

 

5. 简化异常断言

 

普通

 

image.png 

 

精简

 

image.png 

 

注意

可能有些插件不认同这种判断,导致使用该对象时会有空指针警告。

 

6. 简化测试用例

 

把测试用例数据以JSON格式存入文件中,通过JSON的parseObject和parseArray方法解析成对象。虽然执行效率上有所下降,但可以减少大量的赋值语句,从而精简了测试代码。

 

普通

 

image.png

 

精简

 

image.png

 

建议

JSON文件名最好以被测试的方法命名,如果有多个版本可以用数字后缀表示。

 

7. 简化算法实现

 

一些常规算法,已有现成的工具方法,我们就没有必要自己实现了。

 

 

普通

 

image.png 

 

精简

 

image.png 

 

8. 封装工具方法

 

一些特殊算法,没有现成的工具方法,我们就只好自己亲自实现了。

 

普通

 

比如,SQL设置参数值的方法就比较难用,setLong方法不能设置参数值为null。

 

image.png

 

精简

 

我们可以封装为一个工具类SqlHelper,简化设置参数值的代码。

 

image.png

  接下篇:https://developer.aliyun.com/article/1227321?spm=a2c6h.13148508.setting.18.34364f0esCxN3Z

相关文章
|
2月前
|
Java
在Java中实现接口的具体代码示例
可以根据具体的需求,创建更多的类来实现这个接口,以满足不同形状的计算需求。希望这个示例对你理解在 Java 中如何实现接口有所帮助。
93 38
|
17天前
|
安全 Java 编译器
深入理解Java中synchronized三种使用方式:助您写出线程安全的代码
`synchronized` 是 Java 中的关键字,用于实现线程同步,确保多个线程互斥访问共享资源。它通过内置的监视器锁机制,防止多个线程同时执行被 `synchronized` 修饰的方法或代码块。`synchronized` 可以修饰非静态方法、静态方法和代码块,分别锁定实例对象、类对象或指定的对象。其底层原理基于 JVM 的指令和对象的监视器,JDK 1.6 后引入了偏向锁、轻量级锁等优化措施,提高了性能。
42 3
|
2月前
|
Java
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
59 24
|
25天前
|
前端开发 Java 测试技术
java日常开发中如何写出优雅的好维护的代码
代码可读性太差,实际是给团队后续开发中埋坑,优化在平时,没有那个团队会说我专门给你一个月来优化之前的代码,所以在日常开发中就要多注意可读性问题,不要写出几天之后自己都看不懂的代码。
61 2
|
1月前
|
Java 编译器 数据库
Java 中的注解(Annotations):代码中的 “元数据” 魔法
Java注解是代码中的“元数据”标签,不直接参与业务逻辑,但在编译或运行时提供重要信息。本文介绍了注解的基础语法、内置注解的应用场景,以及如何自定义注解和结合AOP技术实现方法执行日志记录,展示了注解在提升代码质量、简化开发流程和增强程序功能方面的强大作用。
83 5
|
1月前
|
存储 算法 Java
Java 内存管理与优化:掌控堆与栈,雕琢高效代码
Java内存管理与优化是提升程序性能的关键。掌握堆与栈的运作机制,学习如何有效管理内存资源,雕琢出更加高效的代码,是每个Java开发者必备的技能。
62 5
|
2月前
|
Java API 开发者
Java中的Lambda表达式:简洁代码的利器####
本文探讨了Java中Lambda表达式的概念、用途及其在简化代码和提高开发效率方面的显著作用。通过具体实例,展示了Lambda表达式如何在Java 8及更高版本中替代传统的匿名内部类,使代码更加简洁易读。文章还简要介绍了Lambda表达式的语法和常见用法,帮助开发者更好地理解和应用这一强大的工具。 ####
|
2月前
|
Java API Maven
商汤人像如何对接?Java代码如何写?
商汤人像如何对接?Java代码如何写?
53 5
|
1月前
|
安全 Java API
Java中的Lambda表达式:简化代码的现代魔法
在Java 8的发布中,Lambda表达式的引入无疑是一场编程范式的革命。它不仅让代码变得更加简洁,还使得函数式编程在Java中成为可能。本文将深入探讨Lambda表达式如何改变我们编写和维护Java代码的方式,以及它是如何提升我们编码效率的。
|
2月前
|
Java
Java将OffsetDateTime格式化为 yyyy-MM-dd HH:mm:ss 如何写代码?
Java将OffsetDateTime格式化为 yyyy-MM-dd HH:mm:ss 如何写代码?
43 0