-
좋은 추상화를 만드는 요소는?설계·방법론 2022. 7. 15. 18:43반응형
좋은 추상화는 다음과 같은 속성이 있다.
- 배우기 쉽다
- 문서가 없어도 사용하기 쉽다.
- 잘못 사용하기 어렵다.
- 요구 조건을 충족시킬 정도로 충분히 강력하다.
- 확장하기 쉽다.
- 대상 사용자에게 적합하다.
좋은 추상화는 복잡하게 꼬인 개념을 단순하게 풀어낸다.
단순한 추상화는 여러 개념을 서로 얽지 않으므로 의도치 않게 여러 개념을 동시에 고려할 필요 없이 각 개념에 대해 독립적으로 추론할 수 있다.
소프트웨어를 만들 때 복잡성을 줄이는 방법
- 가변 상태 피하기
- 명령형 프로그래밍보다 함수형 프로그래밍 사용하기
- 상속보다 합성 선호하기
- 명령형보다 선언형으로 데이터 조작 표현하기
추상화를 처음 설계할 때 도움이 되는 몇가지 아이디어
1. 회사의 코드베이스나 깃허브 저장소에서 인기 있는 추상화를 찾아라. 관련 문서를 읽고 소스 코드를 살펴보고 이를 확장해보라.
2. 구글, 페이스북, 링크드인, 트위터 같은 IT 기업의 오픈 소스 프로젝트를 살펴보라. 프로토콜 버퍼, 쓰리프트, 하이브, 맴리듀스와 같은 추상화가 회사가 성장하는 데 필수였던 이유를 알아보라.
3. 인기 있는 API 인터페이스를 연구하라. Parse, Stripe, 드롭박스, 페이스북, 아마존 웹 서비스 등에서 개발한 것이 좋은 예다. 이러한 플랫폼을 기반으로 하면 개발이 쉬워지는 이유를 파악하라. 자신이 또는 커뮤니티의 다른 사람들이 싫어하는 API에 대해 생각해보고, 싫어하는 이유가 무엇인지 이해하라.
출처: 이펙티브 엔지니어
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."반응형'설계·방법론' 카테고리의 다른 글
변수 이름을 잘 짓는 법 (0) 2023.01.19 빨리 실패하는 시스템을 만들어라 (0) 2022.07.19 마이크로서비스 장단점 (0) 2022.06.16 [펌] 개발자 평생 공부 (0) 2022.06.15 (펌) 배민은 서비스 장애를 어떻게 없앴나 (0) 2022.06.11