将方法参数传递给函数的影响是能够更快地处理某个方法.
如果某个方法需要locale作为输入.正如你将宣布这foo(Locale locale)确实foo(User user) { Locale locale = user.getLocale(); }不见得比前一个慢?
如果你在同一个方法中出于某种其他原因需要用户,那么传入一个单独的语言环境是毫无意义的 - 如果你为用户传入一个不同的语言环境,它确实会导致结果不一致.当然,这是假设这getLocale是一个由字段支持的简单属性.
我肯定会首先编写最简单,最逻辑的代码......像这样的微优化很少会在性能方面产生影响,但往往导致代码难以理解.只有当您显示给定的代码部分是相关的时才进行微优化,并且只有当您证明它实现了改进时才保持优化.
以最直接的方式为您的方法提供所需的信息.如果需要用户,请将其提供给用户.如果只需要语言环境,请仅提供语言环境.如果它需要用户和区域设置,但区域设置与用户关联,则只需将其提供给用户并适当地派生区域设置.
(为了平衡,我应该指出Joe Duffy最近的博客文章支持优化.我不同意该帖子的要点,但它仍然值得一读.)
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |