카
카카오페이
January 23, 20241회
실전에서 TDD하기
간단 소개
카카오페이 개발자가 TDD를 실전에서 적용하며 얻은 경험과 방법론, 그리고 TDD 적용 시 고려사항을 공유합니다.
AI Summary
- TDD 소개 및 기본 원리
- TDD(Test Driven Development)는 테스트 코드를 먼저 작성하고, 그 테스트를 통과하는 코드를 작성하는 개발 방법론이다.
- Red-Green-Refactoring 사이클을 통해 개발하며, 테스트 실패(Red) -> 코드 구현(Green) -> 코드 개선(Refactoring) 단계를 반복한다.
- TDD 적용 및 고려사항
- TDD는 코드 변경에 대한 두려움을 줄이고, 코드의 동작에 대한 확신을 높여준다.
- TDD를 효과적으로 적용하기 위해선, 로직을 담는 객체를 분리하고, 일급 컬렉션을 활용하여 테스트 용이성을 높여야 한다.
- 목킹을 최소화하고, 단위 테스트의 리팩터링 내성을 확보하여 내부 구현 변경에 테스트가 불필요하게 실패하는 상황을 방지해야 한다.
- private 메서드 테스트는 TDD 방식으로 개발 시 자연스럽게 해결되며, 클래스 분리 여부를 고민하는 계기가 될 수 있다.
- TDD의 한계 및 실질적인 조언
- TDD만으로는 좋은 설계를 보장하기 어렵지만, 나쁜 설계를 피하는 데 도움을 줄 수 있다.
- TDD는 습관을 바꾸는 지루한 과정이지만, 꾸준한 연습을 통해 작은 단계부터 적응하는 것이 중요하다.
Next Feeds

CXL 3.1 소개와 스토리지
CXL 3.1은 PCIe 6.0 지원, 캐시 일관성 강화, 메모리 공유, GFAM/GIM 도입 등 다양한 업데이트를 통해 성능과 활용성을 높였다. 스토리지와의 관계도 주목할 만하다.
CXLPCIe 6.0캐시 일관성메모리 공유GFAM
2024. 1. 22.
글루시스

고객에게 뚜렷한 경험을: 컬리의 후기 이미지 처리 기술
컬리는 라플라시안 필터 기반의 이미지 처리 기술을 통해 흐린 후기 이미지를 개선하고 고객의 구매 결정에 도움을 주고자 합니다.
후기 이미지흐림 감지라플라시안 필터이미지 처리컬리
2024. 1. 19.
컬리
Transactional Outbox 패턴으로 메시지 발행 보장하기
Transactional Outbox 패턴을 리디 서비스에 적용한 경험 공유: Polling Publisher 방식 구현, 메시지 중복 처리 방지, 성능 개선 및 모니터링 과정 설명.
Transactional OutboxEvent Driven ArchitectureKafkaPolling PublisherMessage Relay
2024. 1. 17.
리디
더 가치 있는 공통 컴포넌트 만들기
가치 있는 공통 컴포넌트 제작을 위한 확장 규칙 설계, 네이티브 요소 활용, 웹 접근성 고려 사항을 제시합니다.
공통 컴포넌트확장 규칙웹 접근성네이티브 요소리액트
2024. 1. 16.
카카오엔터테인먼트FE
더 가치 있는 공통 컴포넌트 만들기
가치 있는 공통 컴포넌트 제작을 위한 확장 규칙 설계, 네이티브 요소 활용, 웹 접근성 고려 사항을 제시합니다.
공통 컴포넌트확장성네이티브 요소웹 접근성React
2024. 1. 16.
카카오엔터테인먼트FE
스위프트 매크로_2탄, 어떻게 쓰는건데요?
스위프트 매크로를 활용하여 코드 중복을 줄이고 개발 효율성을 향상시킨 경험 공유 및 기술적 성장.
스위프트 매크로코드 중복자동 생성XMLParserWKScriptMessage
2024. 1. 15.
올리브영