Unnecessary condition

  • 쓸모 없는 조건을 사용하는 것을 의미한다.
  • 불필요한 if 문이나 검사를 포함하여 코드가 비대해지고 읽기 어렵고 잠재적으로 버그가 발생할 수 있다.
  • 결과적으로 논리에 아무런 영향을 미치지 않는 코드를 의미한다.

이해

  1. 아무 목적도 없고 프로그램 기능에 기여하지 않는 코드이기 때문이다.
  2. 중복 검사, 연결할 수 없는 코드, 항상 참 혹은 거짓인 조건 등이 있다.

중복

  • 코드 블록에서 동일한 조건을 여러 번 검사하는 것이다.

연결할 수 없는 코드

  • 조건이 결코 참이거나 해서 절대 도달할 수 없는 형태다

항상 참 혹은 거짓

  • 컨텍스트 관계없이 결과가 정해진 경우

왜 문제인가?

  1. 가독성 저하
  2. 성능 저하
  3. 버그 위험 증가
  4. 개발적으로 낭비

리팩토링 과정

  1. 코드 리뷰
  2. 코드 테스트
  3. 조건 단순화
  4. 죽은 코드 지우기
  5. 리팩토링 및 최적화
  6. 검토 및 테스트