Note/그밖에

ASP - Option Explicit

Delia :D 2010. 12. 15. 15:42

Option Explicit를 모듈(폼)의 상단에 선언하는 것을 명시적 선언이라고 합니다.

(반대로 선언하지 않은 경우를 암묵적 선언 이라고 합니다.)

 

이런 명시적 선언을 하면

모든 변수는 Dim을 사용하여 선언을 해야 사용할 수 있습니다.
만약 Dim A As Integer과 같이 A라는 변수를 선언하지 않고 A=4와 같은 코딩을 할 경우에는 오류를 일으킵니다.


이렇게 명시적 선언을 통해 반드시 변수를 선언하고 사용하게 하는 이유는

첫번째로.. 타이핑을 잘못하여 일어나는 코딩 중의 실수를 줄이기 위해서 입니다.

예를 들어

Dim A1 as integer
Dim sum as integer
For A1=1 to 100
   sum=sum+AI
next

과 같이 코딩이 되어 있을 경우, Option Explicit를 통해 명시적 선언을 했을 경우 오류가 납니다.

이유는 A1(숫자1)로 선언을 해놓고.. sum = sum + AI의 AI(문자 i의 대문자)로 연산을 시키는데.. 여기의 AI는 선언한 적이 없기 때문입니다.

두번째로 .. 디버깅이 쉬워집니다.

선언을 하지 않고 변수를 사용하게 되면 변수가 선언된 것인지 아닌지.. 어디에 선언되었는지 알기 어렵습니다.

뿐만 아니라.. 속성이나 메소드를 잘못 입력한 경우 대부분 한 행 전체가 노란색으로 표시되고,  개체가 필요하다는 등의 오류를 출력합니다. 

 

세번째로.. 변수의 자료형을 지정하므로서 메모리 절약 뿐 아니라. 속도가 빠릅니다.

변수를 선언하지 않고 사용하면.. 변수의 자료형은 모두 Varient형이 됩니다.

따라서 보다 많은 메모리를 차지하는 자료형이 요구되며 비경제적입니다. 

변수의 자료형을 알맞게 설정하면 속도 뿐 아니라.. 메모리를 절약 할 수 있습니다.


그외에도 여러사람이 큰 프로그램을 동시 개발해야 한다면 공유되어야 하는 변수가 필요할 텐데.. 이럴는 반드시 약속된 변수를 정의하고 사용해야 합니다. 이럴 경우 명시적 선언이 도움이 됩니다.


출처 - 지식인
http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040103&docId=75585778&qb=T3B0aW9uIEV4cGxpY2l0&enc=utf8&section=kin&rank=1&search_sort=0&spq=0

'Note > 그밖에' 카테고리의 다른 글

DTD & Charset  (1) 2010.12.24
CVS와 SVN의 차이점  (0) 2010.12.24
KT마일리지로 CGV에서 공짜영화를 보자!!  (0) 2010.11.06
Windows 에서 레지스트리 등록하기  (0) 2010.11.02
About J Query  (0) 2010.03.23