我很好奇在同一行代码中打包多个和/或嵌套的方法调用是否对性能更好,这就是为什么一些开发人员这样做的原因,其代价是降低了代码的可读性。
例如
//like
Set<String> jobParamKeySet = jobParams.keySet();
Iterator<String> jobParamItrtr = jobParamKeySet.iterator();
也可以写成
//dislike
Iterator<String> jobParamItrtr = jobParams.keySet().iterator();
就个人而言,我讨厌后者,因为它在同一行中进行多次评估并且我很难阅读代码。这就是为什么我尽量避免每行代码有多个评估。我也不知道jobParams.keySet()
返回 aSet
并且这让我很烦恼。
另一个例子是:
//dislike
Bar.processParameter(Foo.getParameter());
对比
//like
Parameter param = Foo.getParameter();
Bar.processParameter(param);
前者让我讨厌和头晕,因为我喜欢在每一行代码中使用简单而干净的评估,当我看到其他人的代码这样写时我只是讨厌它。
但是在同一行中打包多个方法调用有什么(性能)好处吗?
编辑:由于@stemm 的提醒,单行也更难调试