16장. 분리 정리하기
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
지금은 풀 리퀘스트(PR)/코드 리뷰 모델을 사용한다고 가정해 보겠습니다(나중에 대안에 대해 설명하겠습니다). Tidy는 어디에 두나요?
여기 추격전의 추악한 조각이 있습니다:
-
행동의 변화와 함께 정리 정돈을 실천했습니다.
-
리뷰어들이 제 PR이 너무 길다고 불평합니다.
-
저는 행동이 바뀌기 전(더 가능성이 높습니다) 또는 바뀐 후에 Tidy를 각자의 PR로 분리합니다.
-
리뷰어들은 깔끔한 PR이 무의미하다고 불평합니다.
-
Go to 1.
정리 정돈은 어딘가로 가야 합니다, 그렇지 않으면 정리하지 않습니다. 어디로 갈까요? 요약: 각 PR마다 가능한 한 적은 수의 Tidy를 사용하여 자체 PR로 이동합니다.
장단점을 좀 더 자세히 살펴봅시다. 정리 정돈을 배우는 사람들은 예측 가능한 단계를 거치는 것 같습니다. 첫 번째 단계에서는 이제 막 변화를 시도하는 단계로, 차별화되지 않은 변화의 덩어리에서 시작합니다(그림 16-1).
그림 16-1. 미분화되지 않은 변화의 질량
여기서는 if 문을 수정하는 도중에 이름이 잘못되었다는 것을 깨닫고 이를 수정한 후 if 문으로 돌아갑니다. 변화는 변화입니다.
마치 현미경으로 들여다보던 그림이 초점이 맞춰지는 것과 같습니다. 이러한 변화 중 일부는 프로그램의 동작, 즉 프로그램 실행에서 관찰되는 속성을 변경하는 것이었고, 일부는 프로그램의 구조를 변경하는 것이었습니다. 이러한 변화는 코드를 살펴봐야만 관찰할 수 있습니다(B=동작, S=구조).
그림 16-2. 동작 변경 및 구조 변경
이 시점에서는 아직 계획도 없고, 행동 변화와 구조 변화 사이의 흐름도 없으며, 서로 다른 두 가지가 함께 작용하고 있다는 인식만 있을 뿐입니다.
이 과정을 조금 거치면 공통된 흐름을 알아차리기 시작합니다. 문을 청크화하면 헬퍼를 설명하고 동작을 쉽게 변경할 수 있습니다. 이제 프로그래밍은 체스와 비슷해져서 게임이 몇 수(또는 시퀀스)를 앞두고 어떻게 진행될지 짐작할 수 있습니다(그림 16-3).
그림 16-3. 동작 및 구조의 순차적 변경
이 시점에서 아직 큰 홍보가 하나 남았습니다. 우리는 루프의 1단계에 있습니다. 우리가 한 모든 움직임은 의도적인 것이었고, 쉽게 변경하거나 쉽게 변경할 수 있도록 하는 ...