✏️10.6 어서션 추가하기 (Introduce Assertion)

리팩터링 전

if (this.discountRate)
  base = base - (this.discountRate * base);

리팩터링 후

assert(this.discountRate >= 0);
if (this.discountRate)
  base = base - (this.discountRate * base);

🧷 배경

어서션은 항상 참이라고 가정하는 조건부 문장으로, 어서션이 실패했다는 건 프로그래머가 잘못했다는 뜻이다.

어서션은 프로그램이 어떤 상태임을 가정한 채 실행되는지를 다른 개발자에게 알려주는 훌륭한 소통도구이며 디버깅하기 편리한 수단이다.

🧷 절차

1. 참이라고 가정하는 조건이 보이면 그 조건을 명시하는 어서션을 추가한다.

🧷 예시

🧷 리팩터링 전

🧷 리팩터링 후

Last updated