데이비드는 단순해 보이는 JavaScript 함수의 매개변수 하나 추가에 대한 광범위한 주석이 달린 복잡한 풀 리퀘스트를 접했습니다. 기존 함수는 이미 7개의 매개변수를 가지고 있었는데, 이는 객체를 사용한 리팩토링 기회를 시사할 수 있었습니다. 초기 수정본은 notArg8이라는 새 매개변수에 연결된 조건문을 도입했습니다. notArg8이 참이면 코드는 arg8: !notArg8을 컨텍스트로 전달했습니다. 작성자는 이 복잡한 접근 방식이 단순히 매개변수를 직접 추가할 수 있었기 때문에 이해할 수 없었습니다. 데이비드는 이 코드의 품질에 대해 논평했지만, 원래 개발자는 더 이상 응답하지 않았습니다. 주니어 개발자는 혼란스러운 코드를 승인했지만, 결국 병합되지는 않았습니다. 이후 다른 개발자가 arg8을 추가하고 이를 컨텍스트로 전달하는 방식으로 간단하게 해결했습니다. 단순화된 코드는 작동했고, 테스트를 통과했으며, 모든 사람을 만족시켰습니다. 원래 개발자의 의도와 복잡한 조건문 뒤에 숨겨진 이유는 여전히 미스터리로 남아 있습니다. 결말은 원래 개발자의 비전이 실현되지 않은 채 남아 있음을 암시합니다.
notArg8이라는 새 매개변수에 연결된 조건문을 도입했습니다.notArg8이 참이면 코드는arg8: !notArg8을 컨텍스트로 전달했습니다. 작성자는 이 복잡한 접근 방식이 단순히 매개변수를 직접 추가할 수 있었기 때문에 이해할 수 없었습니다. 데이비드는 이 코드의 품질에 대해 논평했지만, 원래 개발자는 더 이상 응답하지 않았습니다. 주니어 개발자는 혼란스러운 코드를 승인했지만, 결국 병합되지는 않았습니다. 이후 다른 개발자가arg8을 추가하고 이를 컨텍스트로 전달하는 방식으로 간단하게 해결했습니다. 단순화된 코드는 작동했고, 테스트를 통과했으며, 모든 사람을 만족시켰습니다. 원래 개발자의 의도와 복잡한 조건문 뒤에 숨겨진 이유는 여전히 미스터리로 남아 있습니다. 결말은 원래 개발자의 비전이 실현되지 않은 채 남아 있음을 암시합니다.