추상화의 함정

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

촉촉한 코드, 건조한 코드

velog.io

촉촉한 코드, 건조한 코드

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 6월 7일 오전 12:46

 • 

저장 39조회 2,895

댓글 1

함께 읽은 게시물

📚 UX / UI 도서 추천 11개

운영 중인 UX 스터디에서 3~6월 동안 스터디 멤버 분들이 많이 읽고 북리뷰를 남긴 책을 추려보았습니다. 1. 사용자를 사로잡는 UX/UI 실전 가이드 - 주니어부터 시니어까지 사용자를 사로잡는 디자인을 꿈꾸는 분들을 위해 우디님이 쓴 책입니다. - UX,UI가 무엇인지부터 실무 디자인 프로세스, 관련 용어/방법론/원칙, 브랜딩과 디자인 윤리 등 폭넓은 내용이 알기쉽게 설명되어 있습니다. 2. 하루 5분 UX - 기획과 UX,디자인 실무에 필요한 지식, 교훈,팁 등이 압축적으로 정리되어 있습니다. -... 더 보기

UX/UI 도서 추천

Brunch Story

UX/UI 도서 추천

 • 

저장 10 • 조회 1,720



레일즈와 카카오 문화

... 더 보기

레일즈 철학과 카카오 문화

K리그 프로그래머

레일즈 철학과 카카오 문화

 • 

저장 5 • 조회 1,974


🕊️ [Medium] JPA vs Hibernate vs DataJPA

J

... 더 보기

JPA vs Hibernate vs Spring Data JPA

Medium

JPA vs Hibernate vs Spring Data JPA

 • 

저장 148 • 조회 8,455


구현패턴으로 DB사용비용을 10배줄이기

... 더 보기

kopring-reactive-labs/Docs/eng/08_bulkprocessor.md at main · psmon/kopring-reactive-labs

GitHub

kopring-reactive-labs/Docs/eng/08_bulkprocessor.md at main · psmon/kopring-reactive-labs

 • 

댓글 1 • 저장 30 • 조회 2,408


< 당신의 성장을 막는 가장 큰 적, '똑똑함' >

1. "최고의 경지에 오른 사람의 노하우나 디테일은 말로 설명하기가 어려워요. 어깨너머로만 배울 수 있어요. 그리고 그 작은 차이가 완성도를 판가름하죠.

... 더 보기