Iai*_*ain 3 coding-style const private constants
在以下情况下使用私有常量是否正确:
假设我有一个带有生命变量和startingLives变量的游戏.在游戏开始时,我将lives变量设置为等于startingLives变量.这就是我通常会这样做的方式:
private var lives:int = 0;
private var startingLives:int = 3;
private function startGame():void
{
lives = startingLives;
}
Run Code Online (Sandbox Code Playgroud)
(示例代码是ActionScript btw)
我的问题是 - 这真的应该是:
private var lives:int = 0;
private const STARTING_LIVES:int = 3;
private function startGame():void
{
lives = STARTING_LIVES;
}
Run Code Online (Sandbox Code Playgroud)
StartingLives似乎不太可能在运行时改变,所以我应该使用const,如果事实证明不是常量则更改回变量?
更新:共识似乎是这是一个很好的使用常量,但amdfan的建议,你可能想要从配置文件加载值?
是的,这是一个很好的使用const.作为一般经验法则,任何其值在运行时不会改变的"变量"应该是常量.这使编译器能够通过将它们放在单独的(ROM)内存区域来优化这些值.(注意:这不能保证您的编译器会进行优化,只是使它成为可能.)
| 归档时间: |
|
| 查看次数: |
3132 次 |
| 最近记录: |