프로그래밍 속도 및 프로그래밍 기법 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
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

자유게시판

번호 제목 글쓴이 날짜 조회수
31 프로그래밍 속도 및 프로그래밍 기법 44가지 파아란 06-19 1,169
30 도시 건설 시뮬레이션 Anno 1800™ – 산업혁명을 이끄십시오! 파아란 04-28 1,755
29 알뜰폰 요금제 3종 - 2019.04.07 파아란 04-07 1,221
28 update 오류 KB4486563 0x8000ffff windows7 파아란 02-26 1,646
27 게임서버 동시접속자수 (5천~7천 → 9천~1만) 2013년도 기준 파아란 02-25 1,248
26 업무용 Local EWS 파아란 02-21 1,078
25 JJ_KWZ067 H/W Spec. CrystalMark2004R7 파아란 01-13 1,143
24 5GB부터 25GB까지… 무료 클라우드 스토리지 서비스 18종 옵션 비교 파아란 01-03 1,174
23 팔찌 파아란 11-28 1,215
22 베트남.하노이 - 마사지 파아란 11-10 4,895
21 카카오뱅크 체크카드 - 베트남.하노이 VP뱅크 ATM 파아란 11-10 2,083
20 mssql 테이블 데이터의 문자열 치환 파아란 10-17 1,087
19 CrystalMark2004R7 - 전주-중화산동-아이팝PC방-26번 파아란 10-13 1,334
18 (copy) 4가지 인간유형을 알면 인간관계가 쉬워진다 파아란 02-08 1,268
17 Anyway to use SSMS to connect to MySql? 파아란 02-01 1,311
16 copy.가상화폐가 어떻게 가치가 있나요? 파아란 01-14 1,313
15 crystalmark2004R7 - MyCom_171011 파아란 10-11 1,317
14 crystalmark2004R7 - list 파아란 10-05 1,431
13 영화 - 월드 인베이젼 (Battle LA) 파아란 09-19 1,383
12 (예능프로) KBS joy - 레드벨벳의 LEVEL UP 파아란 09-12 1,234