• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

코드 래핑

22.03.05 18:53 작성 조회수 353

1

안녕하세요

 

실무에서 사용할 때 코드 래핑을 보통 하는데, 코드 래핑 이라는게 libary dependencies를 줄이기 위해서 기존 코드를 한 번 wrap(래핑)한다라고 알고 있습니다.

 

혹시 실무에서 사용하시는 래핑 기법들이 있으신지 알고 싶습니다. 이렇게 질문 드리는 이유는 만약에 보일러 플레이트를 만들어 놓고 사용하다가 나중에 libary가 업데이트 되서 버전이 올라가면 그 때, library 버전도 업데이트를 시키면 오류가 많이 나올 수 있을꺼 같아서 질문드립니다.

가령 만들어주신 boilerplate에서 래핑이 되어 있지 않는다면, 수 많은 dependencies가 있을텐데, 특정 사용하는 library가 업데이트 되서 만약 버전업을 실수로 하거나 했을 때 전체적으로 문제가 발생 할 수 있을꺼 같아서요. 사용하는 라이브러리의 버전을 바꿔주지 않는 다면 문제는 없을까요?



답변 1

답변을 작성해보세요.

0

안녕하세요!

맞습니다! 실제로 실무에서 외부 패키지의 의존도가 높은 것들(lodash 등)은 코드 래핑을 하는 경우가 많습니다.

예시)

"lodashWrapper.ts"

import _ from "lodash";

export const isEqual = ( a, b ) => _.isEqual(a, b);

------------------------------------------------------------------------------------------------------

위의 코드에서 만일 lodash의 isEqual이 isAnEqual로 바뀌였다면, 해당 "lodashWrapper.ts"를 

export const isEqual = ( a, b ) => _. isAnEqual(a, b); 로만 바꾸면 되는 것입니다. 

 

하지만 수업의 보일러 플레이트에서는 코드 래핑을 고려하지 않았습니다. package*.json 파일이 있기에 패키지 버전을 수동으로 바꾸지 않는 이상 자동으로 갑자기 버전 충돌이 일어나지는 않습니다. 사용하다가 버전을 바꿀 필요가 있고 해당 패키지가 의존도가 높다면 코드 래핑을 하고 버전을 바꾸면 됩니다!