我有以下示例代码:
public String X() throws JAXBException {
LC lc=getLC();
Comp comp = genComp(lc);
return convToStr(comp);
}
public void Y() throws JAXBException, IOException {
LC lc=getLC();
Comp comp = genComp(lc);
Files.writeString(Paths.get(getName(lc)), convToStr(comp), StandardCharsets.UTF_8);
}
我正在尝试将其简化为代码:
LC lc=getLC();
Comp comp = genComp(lc);
在两个函数中重复。但是由于 getName 函数需要
lc
我无法消除这种口是心非。
我不确定的另一件事是;像
Files.writeString(Paths.get(getName(lc)), convToStr(comp), StandardCharsets.UTF_8);
这样进行函数调用是个好主意,还是将每个参数存储在一个更有意义的变量名中并传递该变量。哪种方法更好?
我不会为这么小的重复而烦恼。然而;你总是可以通过延迟加载将 LC 和 Comp 分解为静态变量。这会快一点,因为我们不需要多次计算 Comp,而是计算一次。然而,我们最终会得到比开始时更多的代码,而且编译器可能对此进行了很好的优化。