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

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

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

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


参考回答:

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


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

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

相关文章
|
3月前
|
人工智能 达摩院 自然语言处理
类与类之间的协作模式问题之策略模式影响我们在工作中决策过程的问题如何解决
类与类之间的协作模式问题之策略模式影响我们在工作中决策过程的问题如何解决
|
4月前
软件复用问题之衡量是否应该复制或复用代码,如何解决
软件复用问题之衡量是否应该复制或复用代码,如何解决
|
4月前
|
开发者
软件交付问题之有效地减少代码中的逻辑错误,如何解决
软件交付问题之有效地减少代码中的逻辑错误,如何解决
|
4月前
|
设计模式 算法 开发者
软件复用问题之区分「不重复」和「复用」,如何解决
「不重复」和「复用」之间有何区别软件复用问题之区分「不重复」和「复用」,如何解决
|
4月前
|
JSON 前端开发 Java
代码的应用重构问题之BaseActivity类的主要功能问题如何解决代码缩减的主要问题如何解决
代码的应用重构问题之BaseActivity类的主要功能问题如何解决代码缩减的主要问题如何解决
|
4月前
|
设计模式 存储
代码优化设计问题之优化枚举的getByName方法以提高效率问题如何解决
代码优化设计问题之优化枚举的getByName方法以提高效率问题如何解决
|
4月前
|
数据库
代码的应用重构问题之BaseActivity类的主要功能问题如何解决
代码的应用重构问题之BaseActivity类的主要功能问题如何解决
|
6月前
|
存储 Java API
掌握8条方法设计规则,设计优雅健壮的Java方法
掌握8条方法设计规则,设计优雅健壮的Java方法
|
设计模式 Java
【Java设计模式 规范与重构】 一 重构的目的、内容、时机、方法
【Java设计模式 规范与重构】 一 重构的目的、内容、时机、方法
190 0
|
安全 Java API
了解程序运行逻辑的必要性及应用和硬件的关系
了解程序运行逻辑的必要性及应用和硬件的关系
110 0