한가지 일만 해야 한다.
함수의 길이는 짧아야 한다.
서술적인 긴 이름을 갖는 많은/작은 함수들로 유지해야한다.
더 이상 작을 수 없을 만큼 작아야 한다.
큰 함수를 보면 클래스로 추출할 생각을 해야함.
클래스는 인련의 변수들에 동작하는 기능의 집합
함수를 개선하게 되면
개선의 방향
리팩토링 전에는 한개의 함수가 하나 이상의 일을 한다.
리팩토링 후의 함수는 한가지 단순한 일만한다.
Extract Method는 더 이상 Extract 할 수 없을때 까지 한다.Composite pattern을 이용 To부정사를 사용해 To include~를 하기 위해서는 To include~~를 한다. 계속 반복
큰 함수는 변수와 인자들 들여쓰기에 존재하고, 변수들을 사용해서 통신하는 기능들의 집합.
항상 하나 이상의 클래스로 분리할 수 있다.