우선 고찰인지는 모르겠지만.. 한번 글을 적어보면...

다음과 같은 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% 공감은 안가는데.. 하라니 해야지뭐.. 확장성때문에 그래야 한다는데..음..
아직도 자알~ 모르겠당..

좋은 방법/의견 있으시면 한마디식 던저주시면 감사하지요^-^




페이스북 댓글
티스토리 댓글

+ Recent posts