Topic 27 헤드라이트를 앞서가지 말라
데이비드 토머스, 앤드류 헌트
느낌표 ! (인상 깊은 문장 | 문맥)
헤드라이트는 ‘투사 거리(throw distance)’라고 부르는 범위까지만 밝힐 수 있다. 이 범위 바깥은 빛이 너무 분산되어 효과가 떨어진다. 또한 헤드라이트는 일직선 모양의 영역을 비추므로 커브나 언덕, 웅덩이처럼 정면을 벗어난 것은 밝히지 못할 수도 있다.
p.177
저자는 헤드라이트를 통해 너무 멀리 있는 곳을 볼 수 없다는 것을 설명하고 있다. 어두운 도로에서 헤드라이트가 없으면 아무것도 보이지 않지만 헤드라이트가 있으면 유효 투사 거리까지는 인지할 수 있다. 정말 적절한 비유를 통해 인사이트를 주는 것 같다.
실용주의 프로그래머에게는 확고한 규칙이 있다.
작은 단계들을 밟아라. 언제나.
언제나 신중하게 작은 단계들을 밟아라. 더 진행하기 전에 피드백을 확인하고 조정하라.
p.178
실용주의라는 단어답게 참 어려운 지점이다. 작은 단계를 밟는 것이 빨리 갈 수 있는 것도 맞지만 너무 작은 단계를 밟으면 뎌디게 가는 것 또한 사실이다. 적절한 보폭을 잡고 걸을 수 있는 것이 실용주의 프로그래머인 것 같다.
불확실한 미래에 대비한 설계를 하느라 진을 빼는 대신 언제나 교체 가능한 코드를 작성하여 대비하면 된다. 여러분의 코드를 더 적절한 무언가로 대체하기 쉽게 설계하라.
p.179
교체 가능한 코드, 재사용할 수 있는 코드를 작성한다는 것이 정말 실력을 판가름할 수 있는 능력인 것 같다. 이러한 코드를 작성하기 위해서는 해야할 일을 명확히 인지하고 책임을 분리해야한다고 추상적으로는 필자도 이야기할 수 있으나 현실에서는 코드를 작성하다보면 변경이 어려울 때를 빈번히 만난다. 나중에 코드를 바꾸기 위해 리펙토링을 하면 진작 이렇게 접근했어야했는데 등을 느끼는데 좋기도 한데 한편으로는 항상 왜 진작 이렇게 하지 못했나 아쉬움도 남는다.
Topic 27 느낌
Topic 27 에서는 너무 큰 그림을 그리기보다 한 보폭을 정해 진행하기를 권하고 있는 것 같다.