17장. 체인
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
Tidy는 감자칩과 같습니다. 한 개를 먹으면 또 먹고 싶어지죠. 계속 정리하고 싶은 충동을 관리하는 것이 정리의 핵심 기술입니다. 방금 정리했는데 더 정리해야 할까요? 상황에 따라 다릅니다( 3부에서 그 상황에 대해 설명하겠습니다).
얼마나 큰 단계를 밟을지는 여러분에게 달려 있지만, 작은 정리 단계를 고수하는 실험을 해보는 것이 좋습니다. 각 단계를 최적화하세요. 겉으로 보기에는 달리는 것처럼 보이지만 지네처럼 작은 발걸음을 많이 내딛고 있다는 것을 알게 될 것입니다.
정리 정돈은 한치 앞을 내다볼 수 있는 체스 게임이 됩니다. Tidy가 또 다른 Tidy를 어떻게 설정하는지 살펴봅시다:
- 가드 조항
-
가드 절을 설정한 후에는 조건을 설명 헬퍼로 바꾸거나 설명 변수로 추출하는 것이 도움이 될 수 있습니다.
- 데드 코드
-
죽은 코드의 혼란을 제거한 후에는 코드를 읽기 순서 또는 결합 순서로 정렬하는 방법을 확인할 수 있습니다.
- 대칭 정규화
-
동일한 코드( )를 동일하게 만들고 다른 코드를 다르게 만든 후에는 병렬 코드를 읽기 순서대로 정확하게 그룹화할 수 있습니다. 여러 웹 진입점이 포함된 파일에서 이 작업을 수행한 적이 있습니다. 일단 모두 비슷해 보이면 파일 상단에 나머지 코드에 대한 일종의 목차로 그룹화하는 것이 자연스러웠습니다.
- 새로운 인터페이스, 기존 구현
-
반짝이는 새 인터페이스가 완성되면 을 사용하고 싶을 것입니다. 모든 발신자를 변환할 수 있는 자동 재작성 도구가 없는 경우에는 한 번에 하나씩 변환해야 합니다. 팬아웃(팬아웃: 하나의 Tidying이 또 다른 팬아웃으로 이어지고, 각각의 팬아웃이 또 다른 팬아웃으로 이어질 수 있는 현상)은 이번이 처음입니다(이에 대해서는 결합과 힘의 법칙에 대해 이야기할 때 더 자세히 설명합니다).
- 읽기 순서
-
읽기 순서를 설정한 후에는 대칭을 정규화할 수 있습니다. 이전에는 요소들이 너무 멀리 떨어져 있어서 유사성을 확인할 수 없었습니다.
- 응집력 순서
-
응집력 순서를 위해 함께 그룹화된 요소는 하위 요소로 추출할 후보입니다. 예를 들어 헬퍼 객체를 만드는 것은 Tidying의 범위를 벗어납니다. 하지만 Tidying에 익숙해지고 자신감이 생기면 더 큰 규모의 디자인 변경을 통해 추가적인 동작 변경이 용이해지는 것은 당연합니다.
- 변수 설명
-
변수에 대한 할당의 오른쪽은 설명 헬퍼의 후보입니다(그 뒤에 변수를 인라인할 수 있습니다). 변수 이름에서 제공하는 설명을 통해 중복된 주석을 삭제할 수 있습니다.
- 상수 설명하기
-
설명 상수 를 추출하면 응집력 순서가 도출됩니다. 동기화하여 변경되는 상수를 그룹화하면 향후 변경이 쉬워집니다.
상수를 어디에 배치하고 어떻게 배열할지에 대한 철학이 있습니다. 여기서는 그 모든 것을 다루지 않겠습니다. 작업을 쉽게 만드는 것을 선택하세요. 더 쉽게요.
- 명시적 매개 변수
-
매개변수를 명시적으로 ...