| [팁/VB] 프로그래밍 최적화 방법 <1> Option Explict 변수선언요구를 설정해 두고 코딩을 하라. (도구-옵션에서 설정 가능함)
 <2> 변수의 Variant 사용을 제한하라. (Long -> Integer -> Byte 순으로 사용 32BIT CPU)
 <3> VB 에서 자체적으로 제공하는 함수들을 최대한 활용하라. ;예를 들어, 24-Feb-1973 이란 형태의 날짜형식을 
								1973-02-24 일로 바꾼다고 할 때, 일반적으로 Select Case 문과 
								문자열함수 등을 이용하여 코딩을 할 수도 있지만, 
								VB 에서 제공하는 Format() 함수를 이용하면 단 한 줄로 
								처리가 가능하다. Msgbox Format("24-Feb-1973","yyyy-MM-dd")
 <4> 사용하는 컨트롤들을 하나씩 만들어 사용하지 말고
								배열로 생성시켜 활용하라.(메모리와 디스크하드절약)  <5> 변수명은 최대한 짧게, 헝가리안 표기법을 준수하라.  <6> 한글변수명은 피하고, 한글은 데이타로만 사용.  <7> Code 상에서 아래와 같이 Property연산은 하지 말 것. For i= 1 To 10
 Text1.Text = Text1.Text + 1
 Next i
 <8> IF 문 보다는 Select Case 문이 더 효율적이며, 최종적으로는
								Choose 문을 사용하라.  <9> 상수를 많이 사용할 것. (상수는 컴파일 될 때 한번만 처리됨)
								 <10> 프로시저 인수전달 중 값에 의한 전달(ByVal) 이 참조에 의한
								전달(ByRef) 보다 빠르게 처리된다. 예를 들어서 임의의 어떤 프로퍼티가 노출하는 클래스 멤버 변수의 자료형이 크기가 
								1,024 인 배열인 경우에는 어떻게 프로퍼티를 구현하는 것이 보다 효율적인 것일까? 
								지금까지 해왔던 것과 같은 방식으로 프로퍼티를 작성한다면 그 배열 자체를 통채로 주고 
								받는 방법밖에는 대안이 없다. 아니면 원하는 인덱스에 존재하는 문자열 자료를 리턴받는 
								메소드를 새로 작성해야 한다.
 이 두 방법 중에서 첫 번째 방법은 그야말로 무식한 방법이라고 말할 수 있다. 크기가 
								1,024 인 배열의 모든 인덱스에 각각 한글 10 글자로 이루어진 문자열 데이터가 
								존재한다고 생각해 보면 단순 계산으로도 배열 전체의 크기는 모두 1024 X 10 X 
								2 = 20,480 Byte 가 된다. 단지 몇 글자로 이루어진 문자열 하나를 
								설정하거나 얻기 위해서 매번 20,480 Byte 의 데이터를 통채로 이동시키는 것은 
								말 그대로 무식한 짓이다.  사실 VBScript 의 클래스에서도 ByVal 키워드와 더불어 ByRef 키워드가 
								지원되기는 한다. 익히 알고 있는 것처럼 인자를 선언할 때 ByRef 키워드를 함께 
								사용하면 런타임시에 데이타의 전체값이 복사되는 것이 아니라 단지 데이터의 참조가 
								전달되므로 불필요한 오버로드를 줄일 수 있다.  그러나 이것 또한 근본적인 해결책은 아닌 셈이다. 왜냐하면 당장 VBScript 
								의 클래스에서야 ByRef 키워드를 사용하는 것으로 문제를 해결한다고 하지만, 이와 
								같은 문제는 Microsoft Visual Basic 6.0 을 사용하여 작성한 
								클래스, 즉 COM / COM+ 컴포넌트에서도 동일하게 발생하기 때문이다.  특히나 서버간 원격 호출이 발생하거나 COM+ 응용 프로그램 설정과 IIS 에서의 
								WAM (Web Application Manager) 등의 설정이 복잡하게 얽혀 들어서 
								컴포넌트의 인스턴스가 서로게이트 (Surrogate) 인 DLLHOST.EXE 의 
								프로세스 안에서 생성되는 상황에서는 아무리 DLL 형식의 컴포넌트라 할지라도 결국 
								Out-Of-Process 컴포넌트와 같이 프로세스간 마샬링이 일어나고, 아이러니하게도 
								ByRef 키워드보다는 ByVal 키워드가 더 권장되는 상황이 발생하게 된다. 추가부연설명출처 
								http://www.egocube.pe.kr/asp_0008.asp
 <11> Nothing 을 이용하여 불필요한 메모리를 해제하라. (Set Form = Nothing)
 <12> 경제적 컨트롤을 주로 사용하라. (Label > Textbox , Image > Picture)
 <13> Erase 문을 사용하여 동적배열을 비워라. (Erase DArray)
 <14> 폼,컨트롤 AutoRedraw 를 True 로 하면 폼/컨트롤 이미지를
								메모리에 저장해 둔다. <15> 배포판 작업 전 소스화면을 모두 닫고, 재부팅 한 후
								컴파일 하라. 
								 <16> 불필요한 코드는 제거하라. 주석 ' 은 실행에 아무런 영향을 주지 않으니 
								많이 사용해도 무방하다.
 *
								출처 http://YAHOO.sy.to |