使用有意义的计算表达式来代替具体的常量结果。
例如:短信消息的重试,会有一些重试的时间策略,一些计算好的时间可能如下:
存在的问题:private static final int[] sDefaultRetryScheme = { 0, //现在 60000, //1分钟 300000, //5分钟 600000, //10分钟 1800000 //30分钟 };
- 不加注释的时候读懂很花时间。
- 很长的时间很有可能产生错误,读者的计算错误,作者的计算错误,使错误很不明显。
- 需要改变的时候,不便于修改。
优点:private static final int[] sDefaultRetryScheme = { 0, 1 * 60 * 1000, 5 * 60 * 1000, 10 * 60 * 1000, 30 * 60 * 1000 };
- 只通过计算表达式就能很容易的计算出结果。
- 不容易范错误。
- 容易修改
其他类似的例子:(选自《深入理解Java虚拟机》)
private static final int _1MB = 1024 * 1024;