java 如何重构两个函数之间的公共代码行[已关闭]

xuo3flqw  于 2023-04-10  发布在  Java
关注(0)|答案(1)|浏览(116)

已关闭,此问题需要更focused,目前不接受回答。
**要改进此问题吗?**更新问题,使其仅关注editing this post的一个问题。

2天前关闭。
Improve this question
我有以下示例代码:

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);那样进行函数调用,还是将每个参数存储在一个更有意义的变量名中并传递该变量,这是一个好主意。哪种方法更好?

eh57zj3b

eh57zj3b1#

我不会为这么小的重复而烦恼。你可以通过延迟加载将LC和Comp分解为静态变量。这会快一点,因为我们不需要多次计算Comp,而是只计算一次。但是,我们最终会比开始时有更多的代码,而且编译器可能会优化这个非常好。

相关问题