gpt4 book ai didi

Java 性能与代码风格 : Making multiple method calls from the same line of code

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:44:49 30 4
gpt4 key购买 nike

我很好奇在同一行代码中打包多个和/或嵌套方法调用是否会提高性能,这就是为什么一些开发人员这样做的原因,但代价是降低了代码的可读性。

例如

//like
Set<String> jobParamKeySet = jobParams.keySet();
Iterator<String> jobParamItrtr = jobParamKeySet.iterator();

也可以写成

//dislike    
Iterator<String> jobParamItrtr = jobParams.keySet().iterator();

就我个人而言,我讨厌后者,因为它在同一行中进行多次计算,而且我很难阅读代码。这就是为什么我试图尽一切办法避免对每行代码进行多次评估。我也不知道 jobParams.keySet() 会返回一个 Set,这让我很烦恼。
另一个例子是:

//dislike
Bar.processParameter(Foo.getParameter());

对比

//like
Parameter param = Foo.getParameter();
Bar.processParameter(param);

前者让我感到恶心和头晕,因为我喜欢在每一行代码中使用简单干净的评估,当我看到别人的代码是这样写的时,我只是讨厌它。

但是在同一行中打包多个方法调用是否有任何(性能)​​优势?

编辑:单行代码也更难调试,感谢@stemm 的提醒

最佳答案

微优化是 killer 级的。如果您显示的代码引用是实例范围(或)方法范围,我会采用第二种方法。

方法范围变量将在方法执行完成后立即符合 GC 条件,因此即使您声明了另一个变量,也没关系,因为范围是有限的,您获得的优势将是可读的主表代码。

关于Java 性能与代码风格 : Making multiple method calls from the same line of code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12802562/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com