카테고리 보관물: ASP

ASP 개발을 효율적으로 하는 방법 – 외적인 문제

이번에는 프로그램 외적인 부분에 관하여 말씀 드려 보겠습니다.

웹 프로그램은 어떤 형태라도 반드시 디자인 요소와 결합되어야 완성 된다고 할 수 있습니다. 결과적으로 프로그래머 입장에서는 디자이너와 호흡이 중요하게 됩니다. 대부분 같은 소규모의 팀을 이루게 되어 작업을 하게 됩니다. 중요한 것은 서로간의 이해와 협조입니다. 주위에서 보면 디자이너와 프로그래머 사이의 불화 때문에 업무가 진척되지 않는 경우가 종종 있습니다. 어차피 사람이 하는 일이라서 서로 이해하는 마음과 도우려는 마음이 있어야 순조롭게 일이 진행될 수 있습니다.

디자이너의 입장에서는 프로그래머가 만들어 준 디자인을 제대로 반영해 주지 못한다고 푸념만 하면 안됩니다. 그대신 중간중간에 많은 대화를 해서 하나하나 모호한 부분을 해결해 나가는 것이 중요합니다. 조금이라도 의심이 된다면 바로 이야기 하여 문제점이 발생할 소지가 없는지 알아보아야 합니다. 문제가 없겠지 하고 일을 진행했다가 막바지에 엄청난 수정 작업을 할 수도 있습니다. 디자이너 관점에서 이것은 가능할 것 같지만 프로그램으로 실제 구현하다 보면 디자인에 맞추기 어려운 부분이 분명 존재하기 마련입니다. 이런 경우에 머리를 맞대고 같이 여러 가지 방법을 이야기하다 보면 의외로 일이 쉽게 풀리게 될 수도 있습니다.

프로그래머의 입장에서는 디자인이 완성되어 HTML로 코딩 되어 오는 과정이 그렇게 간단하게 이루어지지 않는 것이라는 것을 이해해야 합니다. 그래픽 툴로 슥슥 잡업해서 이미지 잘라서 프로그램 써서 코딩하는 것만 보고 쉽다고 생각할 수 있습니다. 하지만 디자인을 조금만 직접 해 보세요 그리 쉬운 작업이 아니라는 것이 느껴지실 겁니다. 제가 느낀 바로는 툴에 능숙하지 못한 것은 차치하고 요구사항에 맞는 디자인을 이미지를 가공하여 만들어 내는 작업이 쉽지 않습니다. 물론 능력이 뛰어나서 프로그래밍과 디자인에 능숙한 분은 제외하구요. 프로그램만 하시는 주로 하시는 분은 디자이너를 가급적 이해하고 도와주려고 노력하는 마음 자세를 가지는 것이 필요합니다. 디자이너 입장에서는 어려운 일은 프로그래머 입장에서는 간단할 수 있기 때문입니다.

작업 전 디자이너와 프로그래머 사이에 몇 가지 규칙을 정하고 출발한다면 좀 더 효율적으로 작업할 수 있습니다.

첫째로 이미지 이름에 관한 것인데 공통적으로 쓰이는 버튼이나 타이틀 이미지의 이름들은 btn_, tit_ 이런 식으로 접두어를 붙여 구별을 하여 파일명만 보고 어떤 이미지인지 예측할 수 있도록 합니다. 그리고 이미지를 넣는 폴더의 이름을 통일하고 각 폴더별로 넣을 것인지 한 폴더에 모두 넣을지 결정합니다. 이미지의 이름은 가급적 의미 있는 이름을 부여합니다. 또 이미지 맵이나 기타 이름을 기본으로 정해지는 이름을 사용하지 말고 구별할 수 있도록 부여합니다. 그렇지 않으면 이름 중복으로 인하여 예상하지 못한 문제가 발생하여 쓸데없이 시간이 낭비되는 경우가 있습니다.

두번째로 작업 파일을 올릴 때의 방법인데 파일을 덮어 쓸 때 백업받고 올리는 것을 원칙으로 합니다. 예를 들어 sample.gif 파일을 올린다고 하면 원래의 이미지를 sample-20040720.gif 이런식으로 백업받습니다. 이름을 변경한 뒤에 올리면 혹시 있을 지 모르는 실수에 대비할 수 있습니다. 이런 백업 파일들은 사이트가 실제 가동되기 전에 정리해 주면 됩니다.

에디터를 사용하여 소스 작업파일을 직접 올리게 되는 경우에는 실수로 소스가 통째로 유실 되는 경우가 있으니 반드시 백업후에 작업하시기 바랍니다. 귀찮기는 해도 미리미리 대비하는 것이 안전합니다.

디자이너와 프로그래머가 호흡이 잘 맞으면 아무리 요구사항이 많은 사이트라 하더라도 업무 외적인 부분으로 충돌하는 부분이 없을 겁니다. 서로 호흡이 맞지 않아서 사이 라도 나빠지면 일하기 정말 어렵습니다. 일을 잘 하는 능력도 중요하지만 인간관계도 무시할 수 없는 중요한 요소입니다.

다음에는 라이브러리 구축에 관하여 말씀드리겠습니다.

 

ASP 개발을 효율적으로 하는 방법 – 변수 네이밍,주석

두번째로 프로그램 내에서 사용되는 네이밍룰과 주석에 관하여 말씀 드리려고 합니다.

1. 변수명

ASP는 JSP나 PHP처럼 변수의 타입을 지정하지 않고 사용하기 때문에 프로그램이 복잡해 지면 변수의 이름이 제 각각으로 되고 무엇에 쓰는 변수인지 역 추적하여 알아내야 합니다.

변수명도 프로그램 파일명과 같이 접두어를 붙여 어떤 형태의 변수인지 알 수 있도록 합니다. 다음의 예는 Microsoft에서 제안한 것을 거의 그대로 가져온 것 입니다.

(URL : http://msdn.microsoft.com/library/en-us/dnasp/html/aspconv.asp?frame=true)

접두어 자료형
bln boolean blnsample
byt byte bytsample
col collection object colsample
cur currency cursample
dtm date-time dtmsample
dbl double dblsample
err error errsample
int integer intsample
lng long lngsample
obj object objsample
sng single sngsample
str string strsample
udt user-defined type udtsample
vnt variant vntsample
cmd ado command cmdsample
cnn ado connection cnnsample
fld ado field fldsample
prm ado parameter prmsample
rst ado recordset rstsample

물론 위의 내용을 절대적으로 따라야 하는 것은 아니고 ASP에서 사용하는 변수의 형태는 한정되어 있으므로 필요하신 대로 골라서 사용하시면 됩니다. 너무 변수의 이름이 길지 않도록 하고 의미가 통하는 경우에 약어를 적절히 사용합니다.

2. 함수명

대문자로 시작하며 동사+명사의 형태로 되도록 합니다.

예) Function CheckLogin(paramReturnUrl)

3. 기타

포함파일이나 인수의 이름에 관련한 규칙의 예 입니다.

접두어 설명
g_ global.asa에서 생성된 변수
m_ 인클루드되는 모듈페이지(asp,inc 등) 안에서 생성된 변수
fnc_ 공용함수내에서 생성된 변수
param 함수의 파라미터 변수 (paramreturnurl)

중요한 것은 일관되게 네이밍룰를 지켜야 한다는 것입니다. 그렇지 않으면 마련한 기준이 의미가 없어지게 됩니다.

다음으로 주석에 관련한 사항입니다. 주석을 너무 많이 사용하는 것 보다 필요한 부분에 조금씩 적절하게 사용하는 것이 중요합니다. 누가 보더라도 알 수 있는 부분에 굳이 설명을 넣을 필요는 없겠지요.

프로그램과 함수의 기능을 간략하게 설명해 주는 주석을 예로 들어 보겠습니다.

1. 프로그램 설명 주석

‘——————————————————
‘ 프로그램명 : frm_prod.asp
‘ 설명 : 가격비교 상품 등록 및 수정 form
‘ 제작자 : 홍길동
‘ 제작일자 : 2003-09-18
‘ 수정일자 : 2003-09-19
‘ 수정자 : 홍길순
‘ 수정내용 : 수정 form기능 추가
‘ 수정일자 : 2003-10-18
‘——————————————————

간략한 설명과 수정내역을 기록하여 프로그램 관리에 많은 도움을 얻을 수 있습니다. 그리고 소스 중간에 몇 일에 누가 수정했다는 주석을 달아 변경된 위치를 정확히 알 수 있도록 합니다.

2. 함수 설명 주석

‘——————————————————–
‘함수명 : checklogin(paramreturnurl)
‘설명 : 로그인 여부 검사
‘인수 : paramreturnurl : 다시 돌아갈 url
‘반환값 : true : 로그인
‘ : false : 로그인 안함
‘작성자 : 홍길동
‘작성일자 : 2003-10-14
‘수정자 :
‘수정일자 :
‘수정내용 :
‘——————————————————–

함수도 프로그램과 비슷하게 상단에 주석을 추가하여 기능과 반환값을 한 눈에 알 수 있도록 합니다. 나중에 함수 설명만 모아서 레퍼런스로 만들 수 있습니다. 함수가 작성되어 있는 포함파일과 함수 설명만 알고 있다면 손쉽게 호출하여 사용할 수 있습니다.

위의 예시는 언제까지나 예시이고 필요한 항목을 추가하여 좀더 좋은 원칙을 만드는 것이 더 도움이 되리라 생각합니다.

개인적인 의견으로 Option Explicit 구문을 이용하여 필요한 변수만 미리 선언하여 사용하는 방법도 좋겠습니다. 제 경험상 Option Explicit 구문을 사용하시려면 개발 초기부터 사용하기로 결정하고 일관되게 지켜 나가는 것이 중요합니다. 개발이 어느 정도 진행된 경우라면 적용하기가 어렵습니다. 기존의 프로그램도 수정해야 하니까요.

이 내용을 참고 삼아 더 좋은 자신만의 가이드라인을 만들어 보시기 바랍니다.

다음에는 프로그램 외적인 부분에 관하여 말씀드리겠습니다.