L
LY Corp
January 8, 20251회
코드 품질 개선 기법 2편: 확인 여부를 확인했나요?

간단 소개
암묵적인 확인 전제를 피하고, 유효성 검사 책임을 명확히 하여 코드의 안정성을 높이는 방법을 제시합니다.
AI Summary
- 확인 책임의 명확성
showProgressBar함수에서 진행률 값의 유효 범위 확인 책임이 분산되어 있어 문제 발생 가능.- 상한은 호출자, 하한은 호출 대상이 확인하는 방식은 지양해야 함.
- 풀 프루프(Fool-proof) 구현 방법
- 첫 번째 방법: 함수 내부에서 값의 유효성을 검사하고, 필요시 반환 값을 통해 오류를 알림.
- 두 번째 방법: 특정 범위의 값만 허용하는 타입을 만들어 유효성을 보장.
- 타입을 통한 범위 보장
ProgressRatio클래스를 만들어 0과 1 사이의 값만 받도록 제한.- 팩토리 함수나 실패 가능한 초기화를 통해 오류 처리를 명확하게 할 수 있음.
- 확인되지 않은 예외 대신 타입 검사로 보장 가능한 값을 사용.
Next Feeds

성공적인 Kubernetes 마이그레이션 전략 알아보기
Kubernetes 마이그레이션 전략, 필요성, 사전 준비, 유의사항을 분석하고 성공적인 마이그레이션을 위한 핵심 정보를 제공합니다.
Kubernetes마이그레이션DevOps컨테이너자동화
2025. 1. 8.
인포그랩
코틀린 코루틴 예외 처리, 어떻게 해야 할까?
코틀린 코루틴 환경에서 예외 처리 중요성과 다양한 방법(try-catch, Job, SupervisorJob, supervisorScope)을 통해 안정적인 시스템을 구축하는 방법을 제시합니다.
코틀린코루틴예외 처리구조화된 동시성SupervisorJob
2025. 1. 7.
카카오페이

Mergeable libraries 로 29% 빠르게 앱 실행하기
29CM iOS 앱의 시작 시간을 개선하기 위해 Mergeable Libraries를 도입하고, Sentry를 통해 성능 개선 효과를 정량적으로 분석한 결과, 앱 시작 시간이 29% 단축됨.
Mergeable LibrariesiOS앱 시작 시간Dynamic LibrariesStatic Libraries
2025. 1. 7.
29cm
현대자동차그룹 글로벌 차량 가입·개통 시스템 개편하기 (feat. MSA)
현대차그룹의 커넥티드 카 서비스 가입/개통 시스템을 MSA로 전환하고 기술 부채를 해소한 경험 공유.
커넥티드카MSA모놀로식리팩토링WebFlux
2025. 1. 6.
현대자동차
iOS에서 이벤트 기반 URL 요청이 잘 전송되는지 확인하기 (feat. 광고 트래킹.. 제대로 가고 있나요?)
iOS 앱에서 광고 트래킹 URL 요청이 제대로 전송되는지 URLProtocol과 UITest를 활용하여 검증하는 방법과 데이터 관리 전략을 설명합니다.
iOS광고 트래킹URLProtocolUITest의존성 주입
2025. 1. 6.
지마켓

ViewModel에서 더이상 EventFlow를 사용하지 마세요
ViewModel 이벤트 처리를 EventFlow에서 Channel로 변경한 이유와 적용 방법, 그리고 Channel 사용 시 주의사항을 설명합니다.
ViewModelEventFlowChannelCoroutine안드로이드
2025. 1. 6.
PRND