我有
Generator
生成随机数据,这些数据表示为Bike
类。
代码如下:
public final class Generator {
public void generate() {
...
for (int i = 0; i < initCapacity; i++) {
switch (randomDigit) {
case RETRO_DIGIT -> instance.addData(
new RetroBike(Brand.BMW, Storage.RETRO_SPZ, Storage.RETRO_CENA, Storage.RETRO_WEIGHT)
);
case SPORT_DIGIT -> instance.addData(
new SportBike(Brand.BMW, Storage.SPORT_SPZ, Storage.SPORT_CENA, Storage.SPORT_CYLINDER)
);
case STANDARD_DIGIT -> instance.addData(
new StandBike(Brand.HONDA, Storage.STAND_SPZ, Storage.STAND_CENA, Storage.STAND_SPEED)
);
}
}
}
private static final class Storage {
static final String RETRO_SPZ = "3H0 3333";
static final String SPORT_SPZ = "1AS 1111";
static final String STAND_SPZ = "4B5 4588";
static final int RETRO_CENA = 1300;
static final int SPORT_CENA = 1200;
static final int STAND_CENA = 100;
static final double RETRO_WEIGHT = 120;
static final int SPORT_CYLINDER = 1;
static final int STAND_SPEED = 5;
}
}
我可以直接在构造函数中直接使用值,而不是使用 嵌套类,但我想避免 magic numbers,所以这就是我想出的。问题是,创建这样一个 static 嵌套类 并将其用作初始数据的存储来创建每个
Bike
是一种不好的做法吗?