gpt4 book ai didi

java - 方法签名重构

转载 作者:行者123 更新时间:2023-11-30 07:12:38 25 4
gpt4 key购买 nike

我有多个用户数据库,需要进行搜索。用户可以拥有多个实例,应用程序会检查该用户是否在不同数据库中重复。

因此,每个用户都与一个客户端相关联,并且根据客户端的不同,字段的填充方式也不同。 (我知道这是不对的,但这是继承的应用程序)我的想法是通过将客户端作为参数添加到 getUserData 方法中来重构它。然而我意识到这是一种阻止变革的气味。有许多包装方法将传递默认值。我还必须遍历足够远的调用层次结构,以便我能够访问要传入的客户端对象。这可能是一个或五个方法调用,所以我也必须更改它们。目前,应用程序的开发方式(由其他开发人员)在这方面非常严格,我正在寻求改进它。

getUserData 方法:

public User getUserData(String userId, boolean fullUserRecord, Date userStartDate){
//retrive userdata from db
//attach client specific data for user

}

包装方法的示例:

public User getUserData(String userId,  Date userStartDate){
getUserData(userId, false, userStartDate)

}

我的问题是,我该如何最好地处理这个问题。目前我正在尝试更改方法签名,但如果需要再次更改,我将不得不做同样的事情,这不会很有趣。

最佳答案

包装方法没有任何作用。引入参数对象并尽可能内联包装方法。

“引入参数对象”重构:

关于java - 方法签名重构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38957020/

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