代码优化设计问题之当方法体只有一行时,独立存在的方法的必要性开始存疑问题如何解决

简介: 代码优化设计问题之当方法体只有一行时,独立存在的方法的必要性开始存疑问题如何解决

问题一:为什么当方法体只有一行时,独立存在的方法的必要性开始存疑?

为什么当方法体只有一行时,独立存在的方法的必要性开始存疑?


参考回答:

当方法体只有一行时,如果这个方法的引用仅存在一处,那么将这一行代码直接放在主干代码上可能更直观,避免了来回跳转的代码阅读障碍。但这也取决于具体情况,如果未来有扩展逻辑分支的可能性,或者该方法会在多处被引用,那么独立存在的方法仍然是有必要的。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/625252


问题二:在哪些情况下,即使方法体只有一行,也需要独立出来?

在哪些情况下,即使方法体只有一行,也需要独立出来?


参考回答:

即使方法体只有一行,也需要独立出来的情况包括:

未来除了一种逻辑分支外,还会扩展其他分支,并且有被扩展的可能;

虽然还是一种逻辑分支,但是判断的内容变长了,跟上下文和调用状态有关;

虽然还是一种逻辑分支,但是逻辑总在调整;

一处定义,多点引用。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/625253


问题三:当传入的字符有多种可能性时,应该如何处理以避免定义一堆常量?

当传入的字符有多种可能性时,应该如何处理以避免定义一堆常量?


参考回答:

应该考虑使用枚举(Enum)来组织这些常量。可以定义两组枚举值,一组表示入参的所有可能(如SaleTypeStrEnum),另一组表示出参的所有可能(如SaleTypeIntEnum)。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/625254


问题四:为什么需要补充枚举的getByName方法?

为什么需要补充枚举的getByName方法?


参考回答:

为了方便从传入的字符串映射到对应的枚举值。原始的枚举值是通过name()方法获取枚举的名称,而getByName方法则允许通过名称查找枚举值。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/625255


问题五:为什么直接使用枚举的name()方法进行映射效率较低?

为什么直接使用枚举的name()方法进行映射效率较低?


参考回答:

直接使用枚举的name()方法进行映射需要在每个枚举值上遍历,时间复杂度为O(n)。为了提高效率,可以使用空间换时间的方法,预先将枚举名称映射到枚举值的映射关系存储在内存中。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/625256

相关文章
|
存储 缓存 监控
《优化接口设计的思路》系列:第二篇—接口用户上下文的设计与实现
大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 作为一名从业已达六年的老码农,我的工作主要是开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统,对接过许多开放平台,也搞过消息中心这类较为复杂的应用,但幸运的是,我至今还没有遇到过线上系统由于代码崩溃导致资损的情况。这其中的原因有三点:一是业务系统本身并不复杂;二是我一直遵循某大厂代码规约,在开发过程中尽可能按规约编写代码;三是经过多年的开发经验积累,我成为了一名熟练工,掌握了一些实用的技巧。
122 0
|
5月前
软件复用问题之衡量是否应该复制或复用代码,如何解决
软件复用问题之衡量是否应该复制或复用代码,如何解决
|
设计模式 Java
【Java设计模式 规范与重构】 一 重构的目的、内容、时机、方法
【Java设计模式 规范与重构】 一 重构的目的、内容、时机、方法
202 0
|
移动开发 JavaScript 前端开发
前端性能优化实践之代码层面更改(3)
前端性能优化实践之代码层面更改(3)
174 0
|
测试技术 数据库 容器
接口测试平台170:并发底层代码问题纠正!
接口测试平台170:并发底层代码问题纠正!
接口测试平台170:并发底层代码问题纠正!
|
安全
从想法到设计的过程
在接下来的几节里,我会向你展示游戏制作的整个流程,从开始的一个粗略的想法,到游戏设计,再到最终的游戏制作。
147 0
从想法到设计的过程
|
设计模式 Java 程序员
《重构:改善既有代码的设计》-学习笔记一(+实战解析)
《重构:改善既有代码的设计》-学习笔记一(+实战解析)
213 0
《重构:改善既有代码的设计》-学习笔记一(+实战解析)
|
程序员
《重构:改善既有代码的设计》-学习笔记二(+实战解析)
《重构:改善既有代码的设计》-学习笔记二(+实战解析)
584 0
《重构:改善既有代码的设计》-学习笔记二(+实战解析)
重构-改善既有代码的设计-简化函数调用
Rename Method 函数改名 问题函数的名称未能揭示函数的用途。方法修改函数名称。动机好的函数需要有一个清晰的函数名。
1016 0