프로그래밍 속도 및 프로그래밍 기법 44가지

 

4. 프로그래밍 속도 및 프로그래밍 기법 44가지

 

 

 

 1

프로젝트를 컴파일하기 전에, 베이직을 종료하고, 컴퓨터를 시작하라. 그리고, 프로젝트를 컴파일하게 되면, 메모리에 남아 있는 자질구레한 변수들이 사라지게 되고, 파일 사이즈를 줄일 수도 있다.

 2

프로젝트를 컴파일하기 전에 사용하지 않는 변수와 서브 프로시져, 선언문, 컨트롤 같은것을 제거하라.  이것은 파일크기를 상당히 줄여줄 것이다.

 3

프로그램을 종료할 때는 END을 사용하라. 프로그램의 종료코드나 QueryUnload이벤트에 End문을 사용하면 프로그램이 메모리에 남아 있지 않도록 해 준다.

 4

Variant 변수 사용을 자제하라. 변수를 선언할 때 형식을 지정해 주지 않으면 베이직은 자동으로 그 변수를 Variant형식으로 지정하게 되는데, Variant형식의 변수는 매우 느리기 때문에 프로그램의 성능을 저하시키는 원인이 된다.

 5

폼의 선언부에 Option Explicit문을 추가하라. Option Explicit문을 추가하게 되면, 선언되지 않는 변수는 사용할 수 없게 되므로, 프로그램의 오류를 줄일 수 있다.

 6

컨트롤명을 작게 만들어라. 폼이름이나 컨트롤의 이름은 EXE파일에 추가된다. 따라서 이러한 이름들을 작게 만들면 프로그램의 크기를 줄일 수 있다

 7

주석을 많이 사용하라. 주석문은 EXE파일에 추가되지 않는다. 대신에 주석문을 많이 사용하게 되면 프로그램
소스의 가독성이 증가되므로, 프로그램 생산성 및 유지보수가 용이해 진다.

 8

스크린 해상도에 주의하라. 사용자의 컴퓨터는 항상 같은 스크린 해상도를 갖는 것은 아니다. 따라서, 낮은 해상도에서 만든 프로그램은 높은 해상도를 갖는 스크린에서는 문제가 될 수 있다. 물론 그 반대의 경우도 가능하다.

 9

프로젝트를 텍스트형식으로 저장하라. 이진형식으로 저장된 프로젝트는 다른 편집기에서 편집하기에도 불편할 뿐더러, 실행파일의 크기를 증가시키는 원인이 된다.

 10

프로젝트를 자주 저장하라. 커다란 프로젝트 작업을 하거나, API로 작성된 코드를 실행할 때는 프로그램이 비정상으로 종료되는 경우가 발생된다. 이런 경우엔 지금까지 작업한 코드가 사라지게 되므로 자주 저장하는 습관을 기른다.

 11

TEMP디렉토리의 임시파일을 제거하라. 응용프로그램은 여러개의 임시파일을 만드는데, 이 임시파일은 시스템의 성능을 저하시키는 원인이 되기도 한다. 자주 확인해서 삭제해 주는 것이 시스템의 성능을 향상시키는 효과를 볼 수 있다. 그러나 실행중인 프로그램의 임시파일을 삭제하면 프로그램이 비정상적으로 종료 하므로 주의해야 한다.

 12

Database Transaction을 사용하면 Database 처리 속도를 향상시킬 수 있다.

 13

Move메소드는 Top, Left프로퍼티를 설정하는 것보다 빠르다.

 14

Msgbox는 Breakpoint가 설정되면, 디버깅할 때 이벤트 순서를 변경할 수 있다.

 15

Logical/Integer필드에서 0이 아닌 값을 사용하는 것 보다는 True를 사용하는 것이 빠르다.If ANumber = 0 Then보다 If ANumber Then이 빠르다.

 16

여러라인을 들여쓰기를 하거나 혹은 들여쓰기를 취소할 때는 단축키를 사용하면 효과적이다. Tab키는 선택된 라인을 들여쓰기 하고, Shift-Tab는 선택된 라인의 들여쓰기를 해제한다.

 17

컨트롤배열을 사용하지 않고, 폼에 같은 컨트롤을 여러개 만들려면, 컨트롤을 누를때 Ctrl키를 누르거나, 혹은 원하는 컨트롤 아이콘을 Drag시키면 된다.

 18

폼을 디자인할 때 컨트롤을 빠르게 폼에 놓으려면, 컨트롤 아이콘을 더블클릭하라. 그러면 폼의 중간에 컨트롤들이 나타날 것이다.

 19

픽쳐박스나 폼의 AutoRedraw속성을 True설정하면 픽쳐박스나 폼의 내용이 왜곡되지는 않겠지만, 메모리를 많이 차지하는 요인이 되기도 한다.

 20

개체 프로퍼티 윈도우를 호출할 때, 보통 오른쪽 마우스 클릭을 사용하지만, F2키를 누르면 [개체 찾아보기]윈도우가 호출된다.

 21

Boolean변수를 토글할 때는 IF...Then...Else를 사용하는 것 보다는 PreviewOn = Not PreviewOn 과 같이 하는 것이 빠르다.

 22

Image컨트롤은 PictureBox컨트롤보다 훨씬 빠르다

 23

문자열 크기를 검사할 때, If Len(SomeString$) = 0 Then보다는 If Len(SomeString$) Then이 빠르다.

 24

두 변수를 효율적으로 스왑하려면 다음 코드를 이용한다.

 a = a Xor b: b = a Xor b: a = a Xor b 이렇게 하면 A와 B의 두 변수는 스왑된다.
이 팁은 대부분의 프로그래밑 언어에서 작동한다.

 25

간단하고 효율적인 코드는 저성능의 컴퓨터에서도 효과적으로 작동한다.

 26

컨트롤이 갖는 기본 속성을 이용하면 속도를 증진시킬 수 있다. 텍스트박스를 사용할 때는 txtBox.Text보다는 txtBox가 빠르고, 라벨컨트롤을 사용할 때는 lblLabel.Caption보다는 lblLabel이 빠르다.

 27

작업할 때는 가능한한 작은 크기의 데이타형식을 사용하라. Long형식이나, Double형식보다는 Integer형식이 빠르다.

 28

디버깅작업할 때, Breakpoints대신에 Debug.Print를 사용하라. 프로그램의 흐름의 중지하지 않고도 효과적인 디버깅이 가능하다.

 29

가능한 한 작은 수의 컨트롤을 사용하라. 컨트롤을 많이 사용하게 되면 프로그램의 성능이 저하되는 원인이 된다.
메모리와 자원도 많이 차지할 뿐더러, 실행속도도 느려지게 된다.

 30

적은 오버헤드로 그래픽을 그리려면 폼에 직접 그래픽을 그리면 된다.

 31

비슷한 작업을 하는 컨트롤을 배열로 작성하면 코드의 양을 줄일 수 있을 뿐만 아니라, 처리속도도 향상된다.

 32

간단한 작업을 처리하는 함수는 함수보다는 해당 코드를 작업을 원하는 프로시져에 직접 코딩하는 것이 빠르지만, 좀 복잡해지거나, 길어지는 코드는 함수로 작성하면 디버깅도 쉬울 뿐만 아니라, 코드의 양을 줄여 속도도 향상시킬 수 있다.

 33

다국어를 지원하고자 한다면 리소스파일을 이용하면 별다른 작업 없이도 다국어를 지원할 수 있는 어플리케이션을 만들 수 있다.

 34

프로그램 작성시 Select ~ Case 문은 프로그램 구조를 구분하는데는 IF문보다 좋다.

 35

조건문을 이용할 때는 For~Next문을 이용하는 것이 가장 빠르다.

 36

리스트박스에 많은 양의 데이터를 한꺼번에 넣을 경우엔 리스트박스를 ReDraw하기 때문에 속도가 현저하게 느려지는데, 이럴 경우엔 LockWindowUndate API를 사용하면 된다.

 37

명령버튼의 Click이벤트를 발생시킬려면, Value값을 True로 설정하면 되는데, 이것보다는 직접 프로시져를 호출하는 것이 빠르다.

 Call cmdADD_Click 이것은 명령버튼 뿐만 아니라, 다른 컨트롤에도 동일하게 적용된다.

 38

파일에서 배열을 읽고 기록할 때 하니씩 읽는 것보다는 블럭단위로 하는 것이 속도가 빠르다.

 39

파일을 읽거나 기록할 때는 2진형식으로 작업하는 것이 빠르고, 다양한 작업을 처리할 수 있다.

 40

비슷한 작용을 하는 상수는 배열로 묶어 사용하면 편리하게 이용할 수 있다.

 41

많은 양의 조건을 처리하는 상황에서는 정상적인 경우를 앞쪽에 모으고, 비정상적인 경우를 뒤쪽에 모으면, 가독성도 높아지고 더욱 효율적이 된다.

 42

자주 사용하는 문자열은 상수로 선언해서 사용하면 코드양도 줄일 수 있고, 더욱 효과적이다.

 43

간단한 조건검사문이라면 If이나, Select문보다는 IIF나 Switch문을 사용하는 것이 효과적이다.

 44

코드에서 함수나 서브루틴, 프로퍼티 루틴을 쉽게 찾으려면 Shift-F2키를 누르면 된다.

 

 

 

 

https://m.blog.naver.com/PostView.nhn?blogId=pundlee&logNo=60127419247&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

 

 



[이 게시물은 파아란 님에 의해 2019-07-11 20:08:54 정보 에서 이동됨]
0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

자유게시판

번호 제목 글쓴이 날짜 조회수
51 자작유틸 - MultiTextReplacer 파아란 03-24 43
50 디아블로 II - BGM 플레이리스트 +1 파아란 12-19 716
49 영원히 고통받는 한국역사 +1 파아란 09-11 1,541
48 방사성 폐기물, 무한동력 다이아몬드 배터리로 거듭나다! 파아란 08-03 1,086
47 이더리움 채굴 후기 ☞ 파아란 05-05 1,170
46 자동차 배터리 부활 꿀팁 파아란 05-07 1,241
45 샤오미의 유용하고 재미있는 제품 BEST10 파아란 04-16 1,168
44 저사양PC - 윈도우10 최적화하는 방법 파아란 04-15 1,726
43 접착제 등 파아란 11-23 1,290
42 Utility 모음 - 케이벤치 파아란 10-17 1,238
41 보급형 폰 2개 비교 파아란 08-13 1,109
40 윈도우10에서 게임 실행이 안될 때 (KB3086255) 파아란 08-04 4,780
39 일본의 그늘 파아란 08-02 1,504
38 메모 파아란 07-15 1,301
37 전자담배 액상 조합 파아란 07-04 1,273
36 Win7 탐색기 폴더/파일 삭제/이동시 "이 항목을 찾을 수 없습니다" 오류 파아란 07-01 1,107
35 윈도우에서 NTP 서버 설정방법 파아란 06-28 5,270
34 구글 지메일(gmail) smtp 사용하기 파아란 06-27 1,199
33 대한민국의 주요 예능 프로그램 편성표 파아란 06-22 1,160
32 주말 TV 파아란 06-22 1,129