1. Label 활용.

label 을 다들 생소해하셔서 좀 더 말씀드리면

일련의 행위를 묶어주는 그룹핑이라고 생각하시면 됩니다.

예를 들어 함수내의 로직이 길때

일련의 동작을 레이블{} 형식으로 묶어줄 수 있습니다.

만약


function resizeListener( e: Event ): void
{
     var stageWidth: int = this.stage.stageWidth;
     var stageHeight: int = this.stage.stageHeight;
    
     if( stageWidth < 400 )
          stageWidth = 400;
    
     if( stageHeight < 300 )
          stageHeight = 300;
    
     if( stageWidth > 800 )
          stageWidth = 800;
    
     if( stageHeight > 600 )
          stageHeight = 600;
    
     this.canvas.resize( stageWidth, stageHeight );
}

이런 함수가 있다고 가정을 해보자

4개의 if 문은 stage 의 크기가 400x300 과 800x600 이하로만 설정한다는 이야기다.

하지만 자세히 살펴보면

stage 가 400x300 이하면 아래 두개의 if 문은 동작할 필요가 없다.

이럴때 label 을 이용해서 묶어줄 수 있다.

like this~


function resizeListener( e: Event ): void
{
     var stageWidth: int = this.stage.stageWidth;
     var stageHeight: int = this.stage.stageHeight;
    
     sizeLimit:
     {
          if( stageWidth < 400 )
               stageWidth = 400;
         
          if( stageHeight < 300 )
               stageHeight = 300;
         
          if( stageWidth == 400 && stageHeight == 300 )
               break sizeLimit;
         
          if( stageWidth > 800 )
               stageWidth = 800;
         
          if( stageHeight > 600 )
               stageHeight = 600;
     }
    
     this.canvas.resize( stageWidth, stageHeight );
}

예제가 그리 썩 유용해보이지는 않지만

저런식으로 활용할 수 있다라는걸 보여준다.

즉, 최소 기준에 이미 충족이 되면

그 밑의 두 if 문은 프로세스 자체가 건너뛰기 때문에

효율적으로 로직을 관리할 수 있다.

label 은 활용하기 따라서

함수내에서 여러 복잡한 로직을 그룹핑해줄 수 있고

시각적으로도 가독성을 높여줄 수 있다.

label 은 for, while, for each 다 가능하다.

하지만 아무래도 label 이 가장 효율적인 부분은 다중 루프 구문이 아닐까 한다 ^-^)/

+ Recent posts