gpt4 book ai didi

java - 哪条路是最好的路?使用 null 重复 VS

转载 作者:行者123 更新时间:2023-12-01 07:47:06 25 4
gpt4 key购买 nike

我得到了这个项目,我正在为 java 程序创建一个新的 react 接口(interface),以更新 GUI。但新的 GUI 仍然构建在旧后端上,因此我想在新界面中使用尽可能多的旧后端代码。但我面临这个问题,很多方法使用旧的 GUI 组件作为参数,最极端的可能是这个

deploy(unzipDirectory,combobox bla,checkbox bla,button bla)

那么什么时候使用这个方法在我需要发送的新GUI中使用

deploy(unzipDirectory,null,null,null)

然后一些 if 语句仅在组合框不为空时使用组合框等。我觉得这是不好的做法,但我看到的唯一解决方案是为我的新 gui 重写它。那么问题是旧的界面仍然存在并被使用,所以这意味着我将有两种方法,如果我为新的 GUI 制作一个特殊的方法,它们会做同样的事情,这似乎也是一种不好的做法,因为将会有大量重复代码。这种情况发生在很多地方,因此会有很多“重复”方法或很多空参数。

所以我的问题是这两种方式中哪种方式更好?还是有另一种方法可以以良好的实践方式做到这一点?

最佳答案

就我个人而言,如果需要保持与旧版本的兼容性,我会使用方法重载,这样:

@deprecated
public deploy(unzipDirectory,combobox bla,checkbox bla,button bla){
//The logic goes here
}

public deploy(unzipDirectory){
deploy(unzipDirectory, null, null, null);
}

使用@deprecated注释,您建议不要使用旧方法来调用新方法。您可以稍后将所有调用迁移到新 API,并最终删除旧方法,将内部实现移至新方法。

关于java - 哪条路是最好的路?使用 null 重复 VS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49667916/

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