我知道耦合和内聚是什么意思。
我有以下示例,它存在一些可维护性问题,因此需要进行一些重构:
问题是,除了 GLOBAL VARIABLES 之外,我无法关联任何耦合、内聚或任何其他可维护性问题。如何在没有此全局变量问题的情况下重构以下代码(因为全局变量会增加复杂性并增加代码的不灵活性?!)
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);
}
这看起来对吗?或者有没有其他有效的重构方法?