11.API 리팩터링 11.1 질의 함수와 변경 함수 분리하기 겉보기에 부수효과 없이 값을 반환해주는 함수를 추구해야함 -> 질의함수 (읽기함수, 연산을 통해 값을 계산하여 반환하는 함수)는 모두 부수효과가 없어야함 값을 반환하면서 부수 효과도 있다면 분리 하는게 좋음 절차 대상 함수를 복제하고 질의 목적에 충실한 이름을 짓기 새 질의 함수에서 부수효과를 모두 제거하기 정적 검사 원래 함수를 호출하는 곳을 모두 찾기. 호출하는 곳에서 질의 함수를 호출하도록 변경하고, 원래 함수 호출을 아래 줄에 추가하기. 하나 바꾸고 테스트 원래 함수에서 질의 관련 코드 제거 테스트 11.2 함수 매개변수화 하기 두 함수 로직이 비슷하고 리터럴 값만 다르다면, 그 값만 매개변수로 받고 함수 합치기 절차 비슷한 함수 중 ..