리팩터링은 탐험 과정인 경우가 많다. 우리는 목표를 염두에 두지만, 그 목표를 어떤 형태로 달
성할지 항상 알 수는 없다. 함수를 단일식 형태로 만들려고 시도하면 코드가 개선되는 경우가
많다는 사실은 우리의 경험이지만, 이 예제에서 코드가 개선됐다고 감히 말할 수는 없다.
우리는 단일식 함수로 만들면 코드가 개선된다는 생각을 포기하거나, 현재 코드로부터 리팩터
리을 더 진행해 원하는 결과를 얻기 위해 노력해볼 수 있다. 하지만 코드를 되돌리고 세 번째
접근을 시도해 보자. 이때 우리가 방금 얻은 경험을 활용할 수 있다.
9.3
테이크
3
:
let
emailAddress
함수를 추출했던 이유는
atIndex
값을 따로 지역 변수에 저장하지 않아도 블
록 영역 안에서 해당 값을 참조하고 싶어서였다. 여기서 필요한 값이 하나뿐이기 때문에
let
블록을 사용하면 함수를 정의하지 않아도 이런 영역을 만들 수 있다. 먼저 대입문 다음에 오는
코드를
let
으로 둘러싸는 것부터 시작해 작은 단계들을 거쳐서 최종 목표에 도달할 수 있다.
예제
9.13
[
single
-
expressions ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.