3장: 긴 코드 조각내기

3장: 긴 코드 조각내기

DRY(Don’t Repeat Yourself)

KISS(Keep it simple, stupid)

위에 지침을 따라도 코드는 쉽게 지저분해지고 혼란스러울수 있다

메서드 추출로 가독성을 올린다

첫 번째 규칙: 왜 다섯 줄인가?

이 지침을 엄수하는것으로 엄청난 개선이다

규칙: 다섯 줄 제한

메서드는 {}를 제외하고 5줄 이상이 되면 안된다

메서드가 길다는것 자체가 코드 스멜이다

관심을 가지지 않으면 시간이 지남에 따라 더많은 기능이 추가 되면서 메서드가 커지는 경향

함수 분해를 위한 리팩터링 패턴 소개

작게 잘라서 이해하기 쉽게 하나씩 처리

리팩터링 패턴: 메서드 추출

메서드 추출은 한 메서드의 일부를 취해서 자체 메서드로 추출 한다

추상화 수준을 맞추기 위한 함수 분해

규칙: 호출 또는 전달, 한 가지만 할 것

함수 내에서는 객체에 있는 메서드를 호출하거나 객체를 인자로 전달할 수 있지만 둘을 섞어 사용해서는 안된다

함수의 내용은 동일한 추상화 수준에 있어야 한다는 그 자체가 스멜일 정도로 강력하다

좋은 함수 이름의 속성

좋은 이름이 가져야할 속성

  • 정직해야 한다. 함수의 의도를 설명해야 한다
  • 완전해야 한다. 함수가 하는 모든것을 담아야 한다
  • 도메인에서 일하는 사람이 이해할 수 있어야 한다

너무 많은 일을 하는 함수 분리하기

규칙: if 문은 함수의 시작에만 배치

함수는 한가지 일만 해야 된다는것을 알아야 됨

참조