문제

다음 상황에서 개인 상수를 사용하는 것이 옳습니까?

Lives 변수와 SartheLives 변수가있는 게임이 있다고 가정 해 봅시다. 게임이 시작될 때 나는 Lives 변수를 STARTHLIVES 변수와 동일하게 설정했습니다. 이것이 제가 일반적으로하는 방법입니다.

private var lives:int = 0;
private var startingLives:int = 3;

private function startGame():void
{
   lives = startingLives;
}

(예제 코드는 ActionScript BTW)

내 질문은 - 이것이 실제로 :

private var lives:int = 0;
private const STARTING_LIVES:int = 3;

private function startGame():void
{
  lives = STARTING_LIVES;
}

런타임이 런타임에 변경 될 가능성이없는 것 같습니다. 따라서 Const를 사용하고 변수가 일정하지 않은 경우 변수로 다시 변경해야합니까?

업데이트 : 합의는 이것이 상수를 잘 사용하는 것 같습니다. 그러나 구성 파일에서 값을로드하고 싶을 것이라는 AMDFAN의 제안은 어떻습니까?

도움이 되었습니까?

해결책

상수 이름에 넣습니다 DEFAULT_STARTING_LIVES, 또한 STARTHLIVES라는 변수도 있습니다. 지금은 STARTHLIVES =를 설정하십시오 DEFAULT_STARTING_LIVES. 나중에 구성 파일의 값을 기준으로 STARTHLIVES를 설정할 수 있습니다. 파일이 생성되지 않았거나 찾을 수없는 경우 백업이 있습니다.

(원래 답변에 대한 확장에 감사드립니다.)

다른 팁

예, 이것은 Const를 잘 사용합니다. 일반적으로 런타임에 값이 변경되지 않는 "변수"는 일정하게 이루어져야합니다. 이를 통해 컴파일러는 컴파일러가 별도의 (ROM) 메모리 영역에 넣어 해당 값을 최적화 할 수 있습니다. (참고 : 컴파일러가 최적화 될 것이라는 보장이 아닙니다. 가능한.)

나는 개인 상수가 그 맥락 밖에서 사용하지 않는 곳에 적절하다고 생각하며, 공개되면 혼란을 초래할 것이라고 생각합니다.

당신의 경우에 상수를 사용하는 것은 마법 번호보다 더 낫습니다. 특히 둘 이상의 장소에서 그것을 사용해야하는 경우.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top