gpt4 book ai didi

java - 编写方法重载的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-01 19:55:42 24 4
gpt4 key购买 nike

我是一名计算机科学专业的学生,​​目前正在研究方法重载。

我做了一个方法重载来获取具有不同参数的随机数:下限和上限或仅下限。

这样做更好吗:

/**
* Return a random double in [low; sup[
*/
public static double getDouble(int low, int sup) {
return low + Math.random() * (sup - low);
}

/**
* Return a random double in [0; sup[
*/
public static double getDouble(int sup) {
return getDouble(0, sup);
}

或者,我要做:

/**
* Return a random double in [low; sup[
*/
public static double getDouble(int low, int sup) {
return low + Math.random() * (sup - low);
}

/**
* Return a random double in [0; sup[
*/
public static double getDouble(int sup) {
return Math.random() * sup;
}

简而言之,我的问题是两者之间哪种方式最好?谢谢。

最佳答案

软件开发中真正的大问题之一是代码重复

您绝对始终努力减少相同的代码段。

当然,在您的示例中,您选择哪个版本几乎无关紧要。如果您的代码就是这样,并且永远不会再被触及,那么这两个选项都是可读且良好的。

但随着时间的推移,事情可能需要增强或改变。然后选项 1 需要你花一点点注意力和勤奋。因此你就选择那个。

另请注意,考虑这些微妙之处是完全可以的。并不是因为这个具体例子如此重要,而是为了训练这种技能。这样,当您必须编写 10 行都无法容纳的复杂性较高的代码的那一天,您就做好了准备!

是的,这与重载没有明确关系。如前所述:最大限度地减少代码重复应该始终是您的最高优先级之一。有时你必须妥协,但你这样做是有意识的决定,而不是出于懒惰的情绪或冲动。

关于java - 编写方法重载的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55733651/

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