《Java工程师必读手册》——Java极客主义系列——Java函数优雅之道(7)

简介: 《Java工程师必读手册》——Java极客主义系列——Java函数优雅之道(7)

接上篇:https://developer.aliyun.com/article/1226830?spm=a2c6h.13148508.setting.19.37c24f0e443j3c


十四、 利用return精简不必要的代码

 

案例1删除不必要的if

 

现象描述

 

image.png

 

建议方案

 

image.png 

 

案例2删除不必要的else

 

现象描述

 

image.png

 

建议方案

 

image.png 

 

案例3删除不必要的变量

 

现象描述

 

image.png

 

建议方案

 

image.png

 

主要收益

 

精简不必要的代码,让代码看起来更清爽。

 

十五、 利用临时变量优化代码

 

在一些代码中,经常会看到a.getB().getC()...getN()的写法,姑且叫做“函数的级联调用”,代码健壮性和可读性太差。

 

建议:杜绝函数的级联调用,利用临时变量进行拆分,并做好对象空指针检查。

 

案例1利用临时变量厘清逻辑

 

现象描述

 

image.png

 

这是精简代码控的最爱,但是可读性实在太差。

 

 

建议方案

 

image.png 

 

这个方案,增加了代码行数,但是逻辑更清晰。有时候,当代码的精简性和可读性发生冲突时,个人更偏向于保留代码的可读性。

 

案例2利用临时变量精简代码

 

现象描述

 

image.png

 

这么写,大概是为了节约一个临时变量吧。

 


 

建议方案

 

image.png 

 

主要收益

 

利用临时变量厘清逻辑,显得业务逻辑更清晰;

利用临时变量精简代码,看变量名称即知其义,减少了大量无用代码;

如果获取函数比较复杂耗时,利用临时变量可以提高运行效率;

利用临时变量避免函数的级联调用,可有效预防空指针异常。


接下篇:https://developer.aliyun.com/article/1226827?groupCode=java

相关文章
|
1月前
|
人工智能 自然语言处理 Java
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
文章介绍了Spring AI,这是Spring团队开发的新组件,旨在为Java开发者提供易于集成的人工智能API,包括机器学习、自然语言处理和图像识别等功能,并通过实际代码示例展示了如何快速集成和使用这些AI技术。
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
|
19天前
|
Java 调度 Android开发
Android经典实战之Kotlin的delay函数和Java中的Thread.sleep有什么不同?
本文介绍了 Kotlin 中的 `delay` 函数与 Java 中 `Thread.sleep` 方法的区别。两者均可暂停代码执行,但 `delay` 适用于协程,非阻塞且高效;`Thread.sleep` 则阻塞当前线程。理解这些差异有助于提高程序效率与可读性。
39 1
|
2月前
|
存储 Java 编译器
Java中ArrayList的常用函数
确切地说,`ArrayList` 提供的这些方法构成了一套强大并且灵活的工具集,可以满足各种程序设计情况中的需求。例如,通过使用 `iterator()`方法,开发者可以在不知道集合大小的情况下遍历集合中全部或部分元素;而 `sort()`方法则能够对集合中的元素进行排序。这些函数在日常的Java编程中极其常见且重要,掌握它们对于进行集合操作和数据处理来说是基础且必须的。
22 2
Java中ArrayList的常用函数
|
18天前
|
存储 运维 Java
函数计算产品使用问题之怎么配置定时触发器来调用Java函数
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
20天前
|
开发框架 Java Android开发
JNI中调用Java函数
JNI中调用Java函数
13 0
|
21天前
|
开发框架 Java Android开发
JNI中调用Java函数
JNI中调用Java函数
22 0
|
2月前
|
Rust Cloud Native Java
Java演进问题之Serverless应用或函数的冷启动如何解决
Java演进问题之Serverless应用或函数的冷启动如何解决
|
3月前
|
存储 算法 搜索推荐
Java中的数组函数库及其使用技巧
Java中的数组函数库及其使用技巧
|
2月前
|
存储 Java Unix
(八)Java网络编程之IO模型篇-内核Select、Poll、Epoll多路复用函数源码深度历险!
select/poll、epoll这些词汇相信诸位都不陌生,因为在Redis/Nginx/Netty等一些高性能技术栈的底层原理中,大家应该都见过它们的身影,接下来重点讲解这块内容。
|
2月前
|
Java 测试技术
在Java中使用断言函数进行代码测试
在Java中使用断言函数进行代码测试