Contract to Code
커스텀 비교는 계약을 먼저 쓰고 코드로 옮긴다
비교 함수가 필요한 경우에도 규칙, 동치 기준, 안정성 요구를 먼저 쓰면 오류를 줄일 수 있습니다.
비교 계약
1차 기준
score는 높은 값이 먼저 옵니다.
2차 기준
joined_at은 낮은 값이 먼저 옵니다.
동치 기준
score와 joined_at이 모두 같으면 입력 순서를 유지합니다.
코드 표현
key(row) = (
-row["score"],
row["joined_at"],
row["input_order"]
)
비교 함수를 직접 쓰기 전, 같은 내용을 key 함수로 표현할 수 있는지 먼저 확인합니다.