我知道耦合和内聚是什么意思。
我有以下示例,它存在一些可维护性问题,因此需要一些重构:
问题是,除了全局变量之外,我无法关联任何耦合、内聚或任何其他可维护性问题。如何在没有全局变量问题的情况下重构以下代码(因为全局变量会增加复杂性并增加代码的灵活性?!)
double value;
double min, max;
public void read()
{
do
{
value = ConsoleInput.readDouble();
}
while(value < min || value > max);
}
public double hyp()
{
double x, y;
min = 0.0;
max = 100.0;
read();
x = value;
read();
y = value;
return Math.sqrt(x * x + y * y);
}
我想重构如下:
public void read()
{
double value;
double min = 0.0;
double max = 100.0;
do
{
value = ConsoleInput.readDouble();
}
while(value < min || value > max);
}
public double hyp()
{
double x, y;
read();
x = value;
read();
y = value;
return Math.sqrt(x * x + y * y);
}
这看起来合适吗?或者还有其他有效的重构方法吗?
最佳答案
重构您的 read()
方法,如下所示:
public double read(double min, double max)
因此,您不是将值保存在全局中,而是从函数中返回它
关于java - 耦合和内聚示例(重构代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30484110/