Contract to Code

커스텀 비교는 계약을 먼저 쓰고 코드로 옮긴다

비교 함수가 필요한 경우에도 규칙, 동치 기준, 안정성 요구를 먼저 쓰면 오류를 줄일 수 있습니다.

비교 계약
1차 기준score는 높은 값이 먼저 옵니다.
2차 기준joined_at은 낮은 값이 먼저 옵니다.
동치 기준score와 joined_at이 모두 같으면 입력 순서를 유지합니다.
코드 표현
key(row) = (
  -row["score"],
  row["joined_at"],
  row["input_order"]
)
비교 함수를 직접 쓰기 전, 같은 내용을 key 함수로 표현할 수 있는지 먼저 확인합니다.