gpt4 book ai didi

java - 重构、嵌套方法调用

转载 作者:行者123 更新时间:2023-12-02 08:00:51 25 4
gpt4 key购买 nike

我正在重构一个有很多嵌套调用的程序,例如

ServiceManagement.getGlobalizationService()
.createExportConfiguration(
exportConfiguration,
getAdminWebClientSession().getUser().getToken()
.getTokenValue());

我希望得到一些建议,了解什么样的重构适合这里,以及开始所述重构的最佳和最简单的位置,现在我发现这是一个过于复杂和不明确的 block 。

最佳答案

第一件事:您完全确定这些调用都不会(我的意思是永远)返回 null 吗?如果您不完全确定那么您应该这样做:

GlobalizationService gs = ServiceManagement.getGlobalizationService();
if (gs!=null) {
....
}

或者你可以捕获 NullPointerException。

如果您完全确定没有必要,那么可以对可读性进行一些有用的轻微重构:

TokenValue tv = getAdminWebClientSession().getUser().getToken().getTokenValue();
ServiceManagement.getGlobalizationService()
.createExportConfiguration(exportConfiguration,tv);

您可能会考虑应用 Demeter 定律直接从 AdminClientSession 获取 TokenValue,但一般情况下重构不一定有用。德米特法则的替代应用是将 TokenValue 或 Token 传递给此代码所在的方法,但这也不一定是一个好主意。

关于java - 重构、嵌套方法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8928145/

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