在我的代码中,它显示警告,消息"100"是一个幻数.参见下面的代码,
int randomNo = generator.nextInt(100);
Run Code Online (Sandbox Code Playgroud)
我在这里读到了什么是一个神奇的数字,为什么它不好?但我怀疑通过创建变量与静态将声明100会占用更多空间,因为我在一个地方使用它.这是一个正确的方法来解决这个问题吗?
public static final int HUNDRED= 100;
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?
yur*_*rib 16
也HUNDRED
确实是有点儿傻,但你为什么要选择100,什么是它的意义?
就像是:
public static final int RANDOM_UPPER_LIMIT=100;
Run Code Online (Sandbox Code Playgroud)
或者更具信息性的东西,取决于你使用的价值:
public static final int MAX_NUMBER_OF_COLORS=100;
Run Code Online (Sandbox Code Playgroud)
会更有意义并提高可读性.
在这种情况下,不应考虑节省空间,声明变量的空间开销(如果存在)完全可以忽略不计.
它与存储无关,它具有可读性.如果你想改变一些数字,很难在代码中找到它,如果它在顶部,那么它会更好(如果它在配置文件中,在许多情况下更好).
是的,这是一个很好的解决方案.
如果你不需要它在那个文件之外,你应该把它变成"私有",你可能想要更具可读性并使用一个名称来表明它的真正含义,例如:
MAX_RANDOM_NUMBER=100
Run Code Online (Sandbox Code Playgroud)
更好的是包括它的用途
MAX_RANDOM_FOR_CARD_SELECTION
Run Code Online (Sandbox Code Playgroud)
或类似的东西.
这样,当你从现在起5个月后查看该文件因为你添加了20张新卡时,你甚至不用看代码即可完全改变.
归档时间: |
|
查看次数: |
15325 次 |
最近记录: |