googleAdsense_widever


Flex 프로젝트 중 :: 순차처리에 대해서 Programing . Common

개발 중에 조금 함수가 조금 많이 엉키게 되는 경우가 생겼는데
디버깅 때문에 2일 꼬박 고생했다.

문제는 순차처리 때문인데, 예를 들어 다음과 같이 함수가 있을 때.

mainFunc1(){
subFunc1();
subFunc2(param);
}

subFunc1(){
var param = value;
}

이 경우에, 제대로 된 실행을 보장받지 못하는 것이다.
즉, subFunc2가 subFunc1보다 먼저 실행되고, 매개변수가 의도대로 할당되어지지 않는 것이다.

subFunc1(){
param = value;
return param;
}
subFunc2(param);

이렇게 return 값을 참조하는 것은 문제가 없다.
왜 이런 문제가 발생하는지 정확히 모르겠지만 아마 매개변수를 변경시키는 subFunc1이 사실 프로젝트 내에세 '함수'가 아니라, 
HTTPService 객체인데, 이게 문제를 일으키는게 아닌가 생각된다.
즉, HTTPService나 ExternalInterface처럼 외부컨테이너와 통신을 하는 모듈은 내부함수의 처리에 영향을 주지 않기 위해(즉, '뻗어버리지 않게 하기 위해') 순차적으로 처리되는게 아닌 것 같다는게 내생각이다.

중요한건 지금 그게 아니고, 데드라인이다.
기획했던 기능을 전부 구현해내지 못할 것 같다..

수요일 오후, 기본함수 다 한시간만에 짜고 계속 삽질, 어제 목요일은 일단 보류하고 다른기능 구현하면서 또 이것 때문에 삽질..

복잡한 문제가 생겼을 때, 소스코드를 천천히 살펴보는 것은 도움이 안되고, 함수들의 순서도를 그려가면서 변수 변화를 찾는 것도 도움이 안된다.

디버깅의 가장 기본인 콘솔창이나 팝업메세지를 띄우면서 변수를 확인하는 것이 유일한 해결책.
미치도록 엉킨 실타래를 찬찬히 살펴본다고해서, 그 실타래를 풀 수 있는 것은 아니다.
추측하고 '잘라가면서' 풀리는지 그대로 엉켜있는지 확인하는 것이 '풀 수 있는' 유일한 방법.

덧글

댓글 입력 영역


공지

어서오십시오.
트위터 : @FCliver
기저심리학 : 네이버카페
카카오톡 : FCliver
페이스북 : Fredric Cliver

통계 위젯 (화이트)

1420
105
286340

접속자 위치