주석 처리 된 코드를 확인하는 것은 절대 권장하지 않습니다. 그러나 나는 그것을 절대적으로 금지하지 않을 것입니다. 때때로 (드물지만) 주석 처리 된 코드를 소스 제어로 확인하는 것이 적절합니다. "절대하지 마"라고 말하는 것은 너무 제한적입니다.
나는 우리 모두가 다음과 같은 점에 동의한다고 생각합니다.
- 소스 제어에 데드 코드를 확인하지 마십시오.
- 소스 제어에 깨진하지 체크 마십시오 (비 작동) 코드, 적어도 결코 트렁크와 매우 드물게 사설, YMMV에
- 디버깅 목적으로 일시적으로 주석을 달거나 무언가를 깨뜨린 경우 코드를 올바른 형식으로 복원 할 때까지 코드를 체크인하지 마십시오.
일부는 일시적으로 제거 된 코드, 다음에 올 내용에 대한 문서로 주석 처리 된 소량의 코드를 포함하는 점진적이지만 불완전한 개선 또는 매우 짧은 (이상적으로는 한 줄) 주석 코드 와 같은 다른 범주가 있다고 말합니다. 절대 안되는 것을 보여주는 코드 다시 추가 할 수 없습니다입니다. 주석 처리 된 코드는 삭제 된 것이 아니라 주석 처리 된 이유를 설명하고 주석 처리 된 코드의 예상 수명을 제공하는 주석이 항상 함께 제공되어야합니다. 예를 들어, "다음 코드는 좋은 것보다 해를 끼치기 때문에 주석 처리되었지만 XXX 릴리스 전에 교체해야합니다."
위와 같은 설명은 고객의 출혈을 막기 위해 핫픽스를 제공하고 있으며 궁극적 인 해결책을 찾을 수있는 즉각적인 기회가없는 경우에 적합합니다. 핫픽스를 제공 한 후 주석 처리 된 코드는 여전히 수정해야 할 사항이 있음을 상기시켜줍니다.
주석 처리 된 코드는 언제 체크인합니까? 한 가지 예는 가까운 장래에 어떤 형태로든 다시 추가해야 할 가능성이 높은 것을 잠정적으로 제거하는 경우입니다. 주석 처리 된 코드는 이것이 불완전 함을 직접 상기시키는 역할을합니다. 물론 이전 버전은 소스 제어에 있으며 FIXME 주석을 더 많은 것이 필요하다는 플래그로 사용할 수 있습니다 . 그러나 때로는 (자주는 아니지만) 코드가 더 나은 주석입니다.
버그가 하나 개의 라인을 제거하지 (또는 드물게, 두 줄) 코드에 의해 고정 될 때 또한, 나는 때로는 주석이 줄을 주석 것이다 결코 이유와 그 코드를 다시 사용할 수 없습니다. 이러한 종류의 설명은 명확하고 직접적이며 간결합니다.
Rex M은 다음과 같이 말했습니다. 1) 완전한 기능 만 확인하십시오. 2) [If] 작업이 너무 큽니다. 완료 가능한 작은 작업으로 나누십시오.
응답 : 네, 이것이 이상적입니다. 프로덕션 코드에서 작업 할 때 즉시 해결해야 할 중요한 문제가있을 때 두 옵션 모두 달성 할 수없는 경우가 있습니다. 때로는 작업을 완료하기 위해 잠시 동안 필드에 코드 버전을 입력해야합니다. 이것은 문제의 근본 원인을 찾으려고 할 때 데이터 수집 코드 변경에 특히 해당됩니다.
더 일반적인 질문에서 질문을받는 특정 인스턴스에 대해 ... 개발자가 주석 처리 된 코드를 아무도 볼 수없는 비공개 브랜치로 확인하는 한, 그 개발자 (그리고 아마도 개발자가 공동 작업하는 사람), 해가 거의 없습니다. 그러나 해당 개발자는 그러한 코드를 트렁크 또는 이와 동등한 코드로 전달해서는 안됩니다. 트렁크는 항상 구축되어야하며 항상 작동해야합니다. 미완성 코드를 트렁크에 전달하는 것은 거의 항상 매우 나쁜 생각입니다. 개발자가 완료되지 않은 코드 또는 임시 코드를 비공개 브랜치로 확인하도록 허용하는 경우 트렁크로 전달하기 전에 코드를 스크럽하는 것을 잊지 않도록 개발자에게 의존해야합니다.
다른 답변에 대한 의견에 대한 응답으로 코드를 주석 처리하고 체크인하면 코드가 주석 처리 된 시간과 함께 주석 처리되지 않은 경우 코드가 작동 할 것으로 기대합니다. 분명히, 리팩토링 도구는 리팩토링에 항상 주석을 포함하지 않습니다. 거의 항상 주석 처리 된 코드를 프로덕션에 넣으면 코드는 산문보다 더 구체적인 주석 역할을하기 위해 거기에서 뭔가를 수행해야합니다. 긴 수명을 가져야하는 것이 아닙니다.
마지막으로 모든 소스 파일에서 주석 처리 된 코드를 찾을 수 있다면 문제가있는 것입니다. 어떤 이유로 든 주석 처리 된 코드를 트렁크에 전달 하는 것은 드문 경우입니다. 이것이 자주 발생하면 어수선 해져 가치를 잃게됩니다.