본문 바로가기
컴퓨터

Monkey pathcing의 의미와 장단점

by dharana7723 2021. 6. 23.

글을 읽던 도중 Monkey patching이라는 단어가 나왔고 몰랐던 단어라 조금 조사해보았습니다.

 

Monkey patching이란 기존 존재하던 코드를 런타임시에 기존 코드에 기능의 추가, 수정, 삭제 등을 진행하는 것입니다.

 

우선 멍키 패칭의 단점프로그램 버전의 발전에 따라 기존 함수가 어떻게 변경될지 몰라 충돌이 발생할 수 있다는 것이고, 두번째는 만약 이렇게 수정하게 됐을때 다른 개발자가 이를 또 다른 형식으로 수정했을 수도 있다면 마찬가지로 큰 충돌이 발생할 수 있고 다른 두가지 버전으로 갈릴 수 있다는 것입니다.

 

그래서 일반적으로는 그 함수의 내부가 아닌 utility 함수를 만들어서 이를 응용하는 식의 구현을 하는 것이 바람직할 것입니다. (존재하는지 아닌지 확인 후 가져올 수 있고 별도의 utiliy 함수를 생성 후 만들면 충돌하지 않기 때문에 유지보수 및 확장성에도 적합.)

 

그러나 이러한 monkey patching도 바람직한 방법일 때가 있는데 그것은 어떤 브라우저에서는 표준이지만 다른 브라우저에서는 제공을 안하는 함수를 구현할 때입니다.

 

이러한 경우 해당 기능을 동일하게 구현하고, 브라우저가 native하게 해당 기능을 가지고 있는지 확인 후 가지고 있지 않다면 해당 기능을 공급하는 형태로 구현을 진행합니다.

 

참조 : https://www.audero.it/blog/2016/12/05/monkey-patching-javascript/

 

 

 

 

'컴퓨터' 카테고리의 다른 글

ngix 및 apache 사용 이유  (0) 2021.11.15
DDD - 도메인 주도 설계  (0) 2021.08.15
32비트, 64비트 차이  (0) 2021.07.21
non blocking, blocking, 동기 비동기의 차이  (0) 2021.07.13
ASGI와 WSGI  (0) 2021.06.23