ClassicASP 모듈 상단에 Option Explicit 문을 선언
페이지 정보
본문
Explicit는 사전을 보면 '명백한, 명시적인'이란 뜻이 있습니다.
Option Explicit는 말 그대로 선택사항인데, 변수를 명시적으로 선언하겠다는 선택 입니다.
비주얼베이직은 기본적으로 변수를 선언하지 않아도 자동으로 변수를 인식하도록 설계되었습니다. 언듯 매우 편리한 기능인 듯 하지만 실상은 그렇지 않습니다.
비주얼베이직 예약어나 사용자정의 함수외에 알 수 없는 단어는 모두 변수로 인식하는 거지요.
Option Explcit를 사용하지 않았을 때 불편한 점과 문제점이 있는데,
1) 변수의 자료형이 모두 Varient형이 됩니다. 따라서 프로그램이 실행될 때 더 많은 메모리를 요구하겠지요. 즉, 비경제적입니다. 변수의 자료형을 알맞게 설정하면 코딩에 훨씬 도움도 됩니다.
2) 오타로 인해 변수를 잘못 써도 비주얼베이직 인터프리터 또는 컴파일러가 문법적 오류로 인식하지 않는다는 점입니다. 프로그램을 실행시키면 아무런 에러도 없지만 원하는 결과는 나오지 않겠지요.
예를 들어 다음과 같이 XX라고 써야 하는데, 실수로 X라고만 써도 아무런 오류가 발생하지 않지요. 그래서 XX의 결과가 55일거라는 기대를 져버리고, 10이 출력됩니다.
XX=0
For i=1 to !0
XX = X + i
Next i
Print XX
3) 코딩을 한 후 프로그램을 실행시켰을 때 Option Explicit를 사용하지 않은 경우에 속성이나 메소드를 잘못 입력한 경우 대부분 한 행 전체가 노란색으로 표시되고, 개체가 필요하다는 등의 오류를 출력합니다. 이런 경우 한 행 전체 중 어느 부분인지를 찾기가 어렵겠지요. 물론 경험이 많은 사람이라면 쉽겠지만
Option Explicit를 사용했을 때의 불편한 점
모든 변수를 명시적으로 Dim 이나 Public 등으로 선언해야 합니다.
변수를 선언하지 않고 사용하는 것보다 선언하고 사용하는 것이 디버깅에 훨씬 도움이 됩니다. 프로그래밍 작업의 대부분이 디버깅에 소요된다는 점을 생각하면 이 정도의 수고는 ... 하다못해 플래시 액션스크립트에서 조차 변수형을 명시적으로 표현하는 것이 추가된 점도 같은 이유겠지요.
Option Explicit를 사용했을 때 편한 점
오타로 인한 오류는 컴파일 오류로 바로 표시됩니다. [디버그]버튼을 누르면 오류가 있는 단어를 정확히 표시해 줍니다.
변수를 명시적으로 선언하면서 대부분 적절한 자료형을 선언할 것이므로 메모리 사용이 효율적이겠지요.
미리 설계해서 변수를 선언하면 좋겠지만 코딩을 하는 중간 중간에 더 필요한 변수가 생기면 그때 그때 선언하면서 사용하면 됩니다.
엄격하게 공부한 프로그래밍 습관이 훗날 나를 편하게 해줍니다.
사용방법
<% Option Explicit %>
참고자료
http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=102020101&docId=66781759
Option Explicit는 말 그대로 선택사항인데, 변수를 명시적으로 선언하겠다는 선택 입니다.
비주얼베이직은 기본적으로 변수를 선언하지 않아도 자동으로 변수를 인식하도록 설계되었습니다. 언듯 매우 편리한 기능인 듯 하지만 실상은 그렇지 않습니다.
비주얼베이직 예약어나 사용자정의 함수외에 알 수 없는 단어는 모두 변수로 인식하는 거지요.
Option Explcit를 사용하지 않았을 때 불편한 점과 문제점이 있는데,
1) 변수의 자료형이 모두 Varient형이 됩니다. 따라서 프로그램이 실행될 때 더 많은 메모리를 요구하겠지요. 즉, 비경제적입니다. 변수의 자료형을 알맞게 설정하면 코딩에 훨씬 도움도 됩니다.
2) 오타로 인해 변수를 잘못 써도 비주얼베이직 인터프리터 또는 컴파일러가 문법적 오류로 인식하지 않는다는 점입니다. 프로그램을 실행시키면 아무런 에러도 없지만 원하는 결과는 나오지 않겠지요.
예를 들어 다음과 같이 XX라고 써야 하는데, 실수로 X라고만 써도 아무런 오류가 발생하지 않지요. 그래서 XX의 결과가 55일거라는 기대를 져버리고, 10이 출력됩니다.
XX=0
For i=1 to !0
XX = X + i
Next i
Print XX
3) 코딩을 한 후 프로그램을 실행시켰을 때 Option Explicit를 사용하지 않은 경우에 속성이나 메소드를 잘못 입력한 경우 대부분 한 행 전체가 노란색으로 표시되고, 개체가 필요하다는 등의 오류를 출력합니다. 이런 경우 한 행 전체 중 어느 부분인지를 찾기가 어렵겠지요. 물론 경험이 많은 사람이라면 쉽겠지만
Option Explicit를 사용했을 때의 불편한 점
모든 변수를 명시적으로 Dim 이나 Public 등으로 선언해야 합니다.
변수를 선언하지 않고 사용하는 것보다 선언하고 사용하는 것이 디버깅에 훨씬 도움이 됩니다. 프로그래밍 작업의 대부분이 디버깅에 소요된다는 점을 생각하면 이 정도의 수고는 ... 하다못해 플래시 액션스크립트에서 조차 변수형을 명시적으로 표현하는 것이 추가된 점도 같은 이유겠지요.
Option Explicit를 사용했을 때 편한 점
오타로 인한 오류는 컴파일 오류로 바로 표시됩니다. [디버그]버튼을 누르면 오류가 있는 단어를 정확히 표시해 줍니다.
변수를 명시적으로 선언하면서 대부분 적절한 자료형을 선언할 것이므로 메모리 사용이 효율적이겠지요.
미리 설계해서 변수를 선언하면 좋겠지만 코딩을 하는 중간 중간에 더 필요한 변수가 생기면 그때 그때 선언하면서 사용하면 됩니다.
엄격하게 공부한 프로그래밍 습관이 훗날 나를 편하게 해줍니다.
사용방법
<% Option Explicit %>
참고자료
http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=102020101&docId=66781759
댓글목록
등록된 댓글이 없습니다.