추상화의 함정

프로그래밍에서 중복제거는 매우 중요한 개념입니다. 프로그래밍 개념인 DRY(Don't Repeat Yourself)는 중복을 최대한 제거하려는 노력을 의미합니다. 중복을 제거하는 주요한 방법 중 하나는 추상화입니다. 가령 비슷한 연산을 수행하는 코드가 있다면, 이를 하나의 공통 모듈(함수 등)을 만들어 중복을 제거할 수 있습니다. 그렇지만 시간이 흘러 추상화한 공통 모듈에 예외 케이스, 추가적인 기능, 버그가 발생하게 된다면 어떻게 될까요? 공통 모듈은 점점 더 크고 복잡해지게 됩니다. 코드가 거대해지며 맥락을 파악하기 점점 힘들어지고, 순환 참조가 생기게 될 수도 있습니다. 즉, '잘못된 추상화는 중복 코드보다 나쁘다'의 예시가 됩니다. 중복은 장기적 관점에서 좋지 않습니다만 잘못된 추상화 역시 장기적 관점에서 좋지 않습니다 따라서, 섣불리 추상화를 하기 보다는 공통적인 코드가 '우연적인지', '본질적으로 변하지 않을지' 를 시간을 두고 충분히 판단한 뒤에 진행할 필요가 있습니다. 소개해 드리는 글은 React 개발자 DanAbramov가 세미나 에서 발표한 경험담을 번역한 게시물입니다. 적절한 이미지와 함께 공감되는 내용으로 아주 재미있게 읽었습니다. https://velog.io/@gomjellie/The-Wet-Codebase

촉촉한 코드, 건조한 코드

velog.io

촉촉한 코드, 건조한 코드

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 6월 7일 오전 12:46

 • 

저장 39조회 2,900

댓글 1

함께 읽은 게시물

팀 플레이어

1

... 더 보기

hajoeun.com


인프라 엔지니어의 교과서 개정 2판

... 더 보기

🚀 MCP 열풍! 앤트로픽의 AI 연결 표준, 빅테크는 왜 주목하나?

A

... 더 보기

 • 

저장 31 • 조회 4,521


< 내가 뭘 원하는지 도무지 모를 때 해야 할 단 한 가지 >

1. 하고 싶다고 생각한 것은 사실 당신의 마음속에서부터 나온 게 아니라, 상식이나 가족, 또는 친구의 기대에 영향받은 것이 많다.

... 더 보기

오픈소스 기여모임 9기 참여자를 모집합니다!

- ✅ 9기 신청하기: https://medium.com/opensource-contributors/aadfa4c7e59e
- 🔥이전기수 8기 결과&후기: https://medium.com/opensource-contributors/a87ad7b4d7ff

... 더 보기

직업 변화



... 더 보기