13장. 하나의 더미
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
때로는 여러 개의 작은 조각으로 나뉘어져 있는 코드를 읽다가 이해에 방해가 되는 경우가 있습니다. 필요한 만큼의 코드를 하나의 큰 더미에 모을 때까지 인라인으로 연결하세요. 거기서부터 정리하세요.
코드의 가장 큰 비용은 코드를 작성하는 비용이 아니라 코드를 읽고 이해하는 데 드는 비용입니다. 이론적으로는 결합을 줄이기 위한 경로로서 응집력을 높이기 위해, 그리고 실제로는 한 번에 머릿속에 담아야 하는 세부 사항을 줄이기 위해 작은 조각을 많이 만드는 편향이 있습니다.
작은 조각에 대한 이러한 편향의 목표는 코드를 한 번에 조금씩 이해할 수 있도록 하는 것입니다. 하지만 때때로 이 과정은 잘못 진행되기도 합니다. 작은 조각들이 상호 작용하는 방식 때문에 코드를 이해하기가 더 어려워집니다. 명확성을 되찾으려면 먼저 코드를 무싱하여 새롭고 이해하기 쉬운 부분을 추출해야 합니다.
몇 가지 증상은 다음과 같습니다:
-
길고 반복되는 인자 목록
-
반복되는 코드, 특히 반복되는 조건부
-
헬퍼 루틴의 잘못된 이름 지정
-
변경 가능한 데이터 구조 공유
더 많은 작은 조각에 대한 편견을 고려할 때, 하나의 더미를 만드는 것은 정리하는 동안 이상하게 느껴집니다. 하지만 이상하게도 만족스럽습니다. 코드를 조각조각 이해하려고 노력해왔거든요. 제 자신의 능력을 의심하기 시작했습니다. 저는 180도 방향을 돌려서 모든 것을 한데 모으기 시작했습니다(자동화된 리팩터링이 있으면 정말 도움이 되지만, 필요하다면 수동으로 할 것입니다). 정말 다행이네요!
더미가 점점 커지면서 머릿속에 모양이 떠오르기 시작합니다. 먼저 이걸 계산한 다음 저걸 계산하는 데 사용합니다! 왜 그냥 그렇게 말하지 않았을까요? 이제 제목의 질문이 떠올라요: 먼저 Tidy를 해야 할까요? 아니면 지금 보이는 대로 변경할까요?