Code Fragment-使用有意义的数字计算表达式代替具体的常量结果

使用有意义的计算表达式来代替具体的常量结果。

例如:短信消息的重试,会有一些重试的时间策略,一些计算好的时间可能如下:

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;




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值