구체적인 상황에 따라 다릅니다. 추가 한 새 속성이 필수라고 가정합니다. 즉, 항상 설정해야합니다. 그런 다음 코드를 직접 검색하여 companyObj
생성 된 모든 위치에서 코드를 업데이트하여 코드 가 올바르게 구성되었는지 확인하십시오 (새 속성 설정 포함). PHP에 생성자가 있다고 가정하면 새 생성자 매개 변수 만 추가하면 컴파일러가 추가 매개 변수없이 모든 생성자 호출을 컴파일 오류로 자동 표시합니다. 또한 팀원이 새 속성에 대한 정보를 사용하자마자 알게됩니다 companyObj
.
그러나 새 속성이 선택 사항이면 명확하지 않습니다. 적절한 기본값이있을 수도 있고 없을 수도 있습니다. 후자의 경우에도 모든 인스턴스 생성을 업데이트하여 필요할 때마다 새 속성을 설정하는 것이 좋습니다. 이것은 코드가 항상 일관된 상태를 유지하도록 하기 위한 것입니다 .
팀원에게 변경 사항을 알리는 것은 또 다른 먼 단계입니다. 애자일 팀 은 대면 커뮤니케이션을 선호 하며 IMHO는 그럴만한 이유가 있습니다. 문서에 의존하는 것은 팀에 정보를 퍼뜨리는 매우 느리고 비효율적 인 방법입니다 . 위키는 다소 나아지지만 여전히 모든 단일 클래스 속성을 문서화하는 것은 IMHO 과잉입니다. 팀에 큰 부담이 될 뿐더러 어쨌든 우리는 인간이기 때문에 신뢰할 수없고 쓸모 없게 될 수밖에 없습니다. 최신 코드 변경에 대한 정보를 얻으려면 설명서 (어떤 형식 으로든)를 확인하십시오.
후자는 Javadoc 또는 Doxygen을 통해 자동으로 생성 된 문서도 마찬가지입니다. 생성 된 문서를 항상 최신 상태로 유지하기 위해 자동 빌드로 구성 할 수 있지만, 개발 팀이 정기적으로 문서를 탐색하여 최신 코드 변경 사항에 대한 정보를 얻지 못했습니다. 소스 제어 시스템을 사용하는 경우 변경 사항을 확인 하는 첫 번째 장소는 어쨌든 코드 의 로컬 사본을 업데이트 할 때 입니다. 그러면 친숙한 클래스의 변경 사항을 확인하고 변경 내용과 변경 내용을 정확히 확인할 수 있습니다. 팀이 자동으로 생성 된 문서에서 누락 될 의미있는 체크인 주석 을 추가하는 데 익숙한 경우 간단한 설명 및 / 또는 작업 ID 참조
커뮤니케이션은 익스트림 프로그래밍 팀이 페어 프로그래밍을하는 주된 이유 중 하나입니다. 팀원과 함께 변경을 수행하는 경우 각 변경 사항에 대해 아는 사람이 두 명 있으며 다음에 각 사람이 다른 사람과 페어링 할 때 유용한 정보가 매우 빠르게 전파됩니다. 그러나 여러 가지 이유로 항상 적용 가능한 것은 아닙니다. 이를 피하면서, 적절한 순간 (예 : 점심 식사 중, 같이 점심 식사를하는 경우)에 변경 사항 에 대해 이웃에게 이야기 하거나 더 크거나, 중요하거나 복잡한 변경 사항 인 경우 메일을 보낼 수 있습니다.
후자의 경우에는이를 올바르게 문서화해야 할 충분한 이유가있을 수 있습니다. IMHO 설계 문서는 시스템에 대한 개략적이고 높은 수준의 개요를 제공 할 때 가장 적합하지만 구현 세부 사항은 코드에 있습니다 ( DRY 원칙 준수 ).