gpt4 book ai didi

java - 更改字段的本地方法参数?

转载 作者:行者123 更新时间:2023-12-01 15:26:37 24 4
gpt4 key购买 nike

假设有一个类,其职责是为 JDBC 查询设置参数。

它将有一个 fillParameters() 方法和一个作为字段的PreparedStatement,因为在所有私有(private)子方法之间共享。

此外,这些子方法需要了解当前的 JDBC 参数索引。

因此可以采用两种解决方案:

  • 将当前索引作为本地参数传递到每个方法中(如果有很多子方法则重复)

  • 将当前索引位置声明为字段(或属性),以便无需通过多个方法参数传递它。但缺点是,如果我们想象使用同一个对象实例对该方法进行第二次调用,它可能会导致副作用(由于特定原因,没有真正的用例,但想象一下......)。事实上,在调用子方法所做的所有过程之前,必须将当前索引位置重新初始化为 0。

最佳实践是什么?

public void fillParameters(){
this.currentIndex = 0; //reinitialize to first index !
//....call to each submethods without need to pass currentIndex as local parameter
}

或者:

public void fillParameters(){
int currentIndex = 0;
//....call to each submethods with currentPosition as index like :
feedFirstParameter(++currentIndex);
feedSecondParameter(++currentIndex);
}

最佳答案

局部变量选项更好地封装了方法如何工作的细节。正如您指出的那样,这将更容易维护并且不太可能产生副作用。如果开销成为问题,您可以进行优化。我不确定是否存在最佳实践,因为设计取决于对您来说重要的内容。无论哪种方式,最好的办法就是在代码中记录您的推理。

关于java - 更改字段的本地方法参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10066358/

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