한 줄 요약
문제와 결론을 2~3문장으로 먼저 설명한다.
상황
어떤 코드 또는 시스템에서 문제가 발생했는지 설명한다.
처음 생각했던 해결책
처음에는 왜 이 접근이 맞다고 생각했는지 적는다.
문제가 된 부분
로그, 코드, 데이터 흐름을 이용해 원인을 설명한다.
검토한 선택지
선택지 A
장점과 단점
선택지 B
장점과 단점
최종 결정
선택한 방법과 선택 이유를 적는다.
적용 코드
data class Coupon(val id: String, val discountAmount: Long)
data class CouponResult(val coupon: Coupon, val finalPrice: Long)
fun bestCoupon(coupons: List<Coupon>, originalPrice: Long): CouponResult? {
return coupons
.map { coupon -> CouponResult(coupon, originalPrice - coupon.discountAmount) }
.minByOrNull { result -> result.finalPrice }
}
남은 한계
완전히 해결되지 않은 부분과 적용 조건을 적는다.
정리
- 핵심 정리 1
- 핵심 정리 2
- 핵심 정리 3
참고 자료
- 공식 문서 또는 참고한 이슈를 연결한다.