우선 고찰인지는 모르겠지만.. 한번 글을 적어보면...
다음과 같은 API 가 있다고 생각해보자.
long pfmGetAppNum();
다음과 같은 API 는 해당프로그램의 Number 를 가져오는녀석이다.
개발자는 코딩을 하면서 다음과 같이 쓸수 있다.
printf("프로그램 번호가 몇번이지?? [%ld]", pfmGetAppNum());
흔히들 다음과 같이 사용할터인데.
이녀석을 다음과 같이 wrapping 하고 있는 상황에서 100% 이해는 솔직히 좀 안간다.
long pfmGetAppNum(long *num);
이것이 새롭게 변경된 prototype 이다. 이녀석의 src 를 열어보면 다음과 같이 되어져야 한다.(아니 그렇게 하고 있다.)
long pfmGetAppNum(long *num)
{
if( (num) == NULL )
{
// 에러메세지 찍고..
return RC_ERR;
}
*num = STRUCT->number;
return RC_NRM;
}
이렇게 되어져 있으니 개발자는 온전히 또 다음과 같이 써야하는 불편(?) 을 겪는데..
long num = 0;
long returnVal = 0;
returnVal = pfmGetAppNum(&num);
if( returnVal != RC_NRM )
printf("프로그램 번호가 몇번이지?? [%ld]", num);
무려 1줄자리면 될것을 5줄로다가..
이거 이렇게 하는거 맞는지 100% 공감은 안가는데.. 하라니 해야지뭐.. 확장성때문에 그래야 한다는데..음..
아직도 자알~ 모르겠당..
좋은 방법/의견 있으시면 한마디식 던저주시면 감사하지요^-^
'TmaxSoft.티맥스소프트 > ProFrame.FrameWork' 카테고리의 다른 글
ProFrame4.0 - DBIO 저장시 Marshal Null 에러 (0) | 2009.04.17 |
---|---|
ORA-00932 inconsistent datatypes: expected string got string (0) | 2009.02.27 |
Oracle Number Type 에 대한 이해와 그에 따른 Message 처리 방법 (0) | 2008.11.25 |