21장. 먼저, 그다음, 나중에, 절대
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
시스템의 행동 변화와 관련하여 Tidying의 타이밍에 대해 이야기해 보겠습니다. Tidy를 먼저 한 다음 행동을 바꾸나요? 행동을 바꾼 다음 Tidy? 아니면 단순히 (향후 행동 변화가 필요 이상으로 어려울 것이라는 의미에서) 지저분함을 기록한 다음( ) 나중에 다시 돌아와서 정리할까요? 아니면 전혀 정리하지 않으시겠습니까?
절대로
마지막 것부터 시작하겠습니다. 항상 그렇듯이, 우리는 정리를 전혀 하지 않을 때의 장단점을 살펴볼 필요가 있습니다. 언제 "예, 이것은 거대한 엉망진창이지만 우리는 의식적으로 아무것도 하지 않기로 결정했습니다"라고 말해야 할까요? 가장 좋은 이유는 코드의 동작을 다시는 바꾸지 않을 것이기 때문입니다.
이렇게 조건을 명시한 이유는 코드의 동작이 실제로 변경될 필요가 없는 경우는 드물기 때문입니다. 하지만 그런 일은 실제로 일어납니다. 진정으로 정적인 시스템의 경우 "고장나지 않았다면 고치지 말라"는 말이 합리적으로 적용됩니다.
나중에
어떤 사람들은 나중에 정리하는 것( )이 순수한 환상, 유니콘, 정직한 정치인이라고 생각합니다. 나중에 정리한다는 신화적 지위는 그 전이든 후든 지금 너무 많이 정리하는 것을 정당화하는 근거로 사용됩니다. 저는 정말 나중에 정리할 수 있다고 말씀드리고 싶습니다. 하지만 전제 조건이 마음에 들지 않을 수도 있습니다.
업무에 충분한 시간이 있나요? 시간이충분한지 묻는 것이 아닙니다. 물론 충분하지 않으니까요. 시간보다 할 일이 더 많은지 묻는 것이 아닙니다. 물론 시간은 충분하기 때문입니다. "시간이 충분하다면 어떻게 일할 것인가?"라고 스스로에게 물어보세요. 그 대답이 실제로 하고 있는 일과 크게 다르다면 업무할 시간이 충분하지 않다는 뜻입니다.
하지만 저는 여러분이 업무에 충분한 시간이 없다는 가정을 검토해 보시기를 권합니다. 저는 규모가 크고, 성공적이며, 수명이 길고, 수익성이 높다는 모든 증거에도 불구하고 여전히 일을 할 시간이 충분하지 않고 앞으로도 충분하지 않을 것이라고 믿는 대기업과 함께 일해 왔습니다. 마치 물리 법칙에 의문을 제기하는 새가 갑자기 하늘에서 떨어지는 것처럼 기괴한 일처럼 보입니다.
일시적으로 잠정적으로 업무를 처리할 시간이 충분하다고 생각한다면 어떻게 하시겠어요? 나중에 정리할 엉망진창의 목록을 만들 수도 있습니다(저는 '재미'에 대한 이상한 개념을 가지고 있기 때문에 이를 Fun List라고 부릅니다). 그러면 나중에 다음 기능을 구현하기 위해 열광적으로 뛰어드는 대신 재미 목록을 흘끗 보고 "한 시간 남았어. 큰 일을 시작하고 싶지 않아요. 4번 항목부터 시작하면 어떨까?"라고 생각할 수도 있습니다. 그러면 그렇게 하세요.
그건 나중에 정리하세요. 그럴 수 있습니다. 해보세요. 그러면 그렇게 될 것입니다.
Tidying은 시스템의 동작에 대한 향후 변경을 더 쉽게 만듭니다(이 ...