팀원에게 개체의 변경 사항을 알리는 방법은 무엇입니까? [닫은]


9

PHPO 객체가 있다고 가정 해 봅시다 : companyObj.

class companyObj
{
  private company_name;
  private company_address;

  public function print_contact()
  {
    //logic
  }
}

이것이 제가 쓰고 동료들과 공유 한 물건입니다. 이제 다음과 같이 더 강력하게 만들고 싶습니다.

class companyObj
{
  private company_name;
  private company_address;
  private company_contact_person;

  public function print_contact()
  {
    //logic updated
  }
}

이제 팀원에게 내 개체에 설정할 수있는 속성이 더 있음을 어떻게 알릴 수 있습니까?

팀원이 소스 코드 수준에서 변경된 사항을 조사하기 위해 시간을 낭비하지 않도록하려면 개발 팀의 모든 사람에게 전자 메일을 보내는 대신 팀에게 진행 상황을 알리려면 어떻게해야합니까?


7
svn은 코드에서 변경된 내용을 알게되므로 도움이 될 수 있습니다. 변경 사항을 직접 업데이트 할 수 있습니다 (특정 파일은 귀하의 경우에 해당 할 수 있음). to)
PresleyDias 2012

1
그것은 당신이 객체가 아닌 클래스입니다 :) 객체는 컴파일 타임이 아닌 런타임에 존재합니다
Rune FS

답변:


10

구체적인 상황에 따라 다릅니다. 추가 한 새 속성이 필수라고 가정합니다. 즉, 항상 설정해야합니다. 그런 다음 코드를 직접 검색하여 companyObj생성 된 모든 위치에서 코드를 업데이트하여 코드 가 올바르게 구성되었는지 확인하십시오 (새 속성 설정 포함). PHP에 생성자가 있다고 가정하면 새 생성자 매개 변수 만 추가하면 컴파일러가 추가 매개 변수없이 모든 생성자 호출을 컴파일 오류로 자동 표시합니다. 또한 팀원이 새 속성에 대한 정보를 사용하자마자 알게됩니다 companyObj.

그러나 새 속성이 선택 사항이면 명확하지 않습니다. 적절한 기본값이있을 수도 있고 없을 수도 있습니다. 후자의 경우에도 모든 인스턴스 생성을 업데이트하여 필요할 때마다 새 속성을 설정하는 것이 좋습니다. 이것은 코드가 항상 일관된 상태를 유지하도록 하기 위한 것입니다 .

팀원에게 변경 사항을 알리는 것은 또 다른 먼 단계입니다. 애자일 팀 은 대면 커뮤니케이션을 선호 하며 IMHO는 그럴만한 이유가 있습니다. 문서에 의존하는 것은 팀에 정보를 퍼뜨리는 매우 느리고 비효율적 인 방법입니다 . 위키는 다소 나아지지만 여전히 모든 단일 클래스 속성을 문서화하는 것은 IMHO 과잉입니다. 팀에 큰 부담이 될 뿐더러 어쨌든 우리는 인간이기 때문에 신뢰할 수없고 쓸모 없게 될 수밖에 없습니다. 최신 코드 변경에 대한 정보를 얻으려면 설명서 (어떤 형식 으로든)를 확인하십시오.

후자는 Javadoc 또는 Doxygen을 통해 자동으로 생성 된 문서도 마찬가지입니다. 생성 된 문서를 항상 최신 상태로 유지하기 위해 자동 빌드로 구성 할 수 있지만, 개발 팀이 정기적으로 문서를 탐색하여 최신 코드 변경 사항에 대한 정보를 얻지 못했습니다. 소스 제어 시스템을 사용하는 경우 변경 사항을 확인 하는 첫 번째 장소는 어쨌든 코드 의 로컬 사본을 업데이트 할 때 입니다. 그러면 친숙한 클래스의 변경 사항을 확인하고 변경 내용과 변경 내용을 정확히 확인할 수 있습니다. 팀이 자동으로 생성 된 문서에서 누락 될 의미있는 체크인 주석추가하는 데 익숙한 경우 간단한 설명 및 / 또는 작업 ID 참조

커뮤니케이션은 익스트림 프로그래밍 팀이 페어 프로그래밍을하는 주된 이유 중 하나입니다. 팀원과 함께 변경을 수행하는 경우 각 변경 사항에 대해 아는 사람이 두 명 있으며 다음에 각 사람이 다른 사람과 페어링 할 때 유용한 정보가 매우 빠르게 전파됩니다. 그러나 여러 가지 이유로 항상 적용 가능한 것은 아닙니다. 이를 피하면서, 적절한 순간 (예 : 점심 식사 중, 같이 점심 식사를하는 경우)에 변경 사항대해 이웃에게 이야기 하거나 더 크거나, 중요하거나 복잡한 변경 사항 인 경우 메일을 보낼 수 있습니다.

후자의 경우에는이를 올바르게 문서화해야 할 충분한 이유가있을 수 있습니다. IMHO 설계 문서는 시스템에 대한 개략적이고 높은 수준의 개요를 제공 할 때 가장 적합하지만 구현 세부 사항은 코드에 있습니다 ( DRY 원칙 준수 ).


2
+1 팀의 모든 직원은 최신 버전의 코드를 "맹목적으로"업데이트하지 말고 수행 한 작업과 수행 전에 수행 한 작업을 간단히 확인하도록 교육을 받아야한다고 생각합니다. 그리고 당신이 말했듯이, 짧지 만 정확한 의견이 좋습니다.
Jalayn

10

단순히 그들과 대화하는 것을 고려 했습니까 ? 짧은 회의 일정을 잡으십시오 : "이봐, 나는 객체 X에 약간의 변화를 가했다. 무엇이 바뀌 었는지, 왜 그런지 보여주고 싶다". 또는 회의가 너무 공식적이거나 혼란스러워 보일 경우 각 사람과 개별적으로 대화하십시오.


+1, 가장 확실한 대답은 먼저 생각되지 않습니다!
NoChance

2

팀이 있다면 아마도 디자인 문서가있을 것입니다. 그렇지 않다면. 시작해 UML 도구를 사용하여 디자인을 매핑하십시오.


7
그러나 이것은 원칙적으로 양호하게 들립니다. 1. 모든 단일 클래스 속성을 포함하는 디자인 문서는 코드를 유지하고 동기화하는 데 어려움을 겪게됩니다. 2. 코드에서 리버스 엔지니어링 된 UML 다이어그램은 그다지 많은 세부 사항으로 인해 사소한 프로젝트에서 거의 쓸모 없게 될 것입니다.
Péter Török

수업이 너무 많으면 모든 수업을 기록 할 필요는 없습니다. 공용 인터페이스를 구성하는 것만. 대규모 프로젝트의 경우 번거로울 것이지만 응용 프로그램의 여러 부분이 서로 어떻게 대화하는지 지정하는 문서가없는 것이 좋습니다.
DPD

1
나는 (고답에서 언급 한) 높은 수준의 아키텍처 / 디자인 문서의 중요성에 동의한다. 그러나, 그것은 아주 높은 수준이므로 약간의 변화로 지속적으로 업데이트 할 필요가 없습니다.
Péter Török

1

코드 내에서 doxygen 과 같은 도구를 사용할 수 있습니다 . 이제 doxygen 문서를 생성하고 야간 빌드의 일부로 정기적으로 실행하는 스크립트를 작성하십시오 (야간 빌드를 수행합니까?).

doxygen에 사용자 정의 속성을 추가하여 새로운 것으로 강조 표시 할 수 있다고 생각합니다.

팀원이 좋은 사람이라면 새 문서를 검토 할 것입니다.


내가 :-( 실제로이 작품 본 적이없는 것처럼 어쩌면 내가 좋은 동료로 일한 적이있다
페테르 토록를

@ PeterTörök 나는 그들이 포함되어 있고 그 사이에 극히 적다는 것을 인정해야합니다.
tehnyit

0

이제 팀원에게 내 개체에 설정할 수있는 속성이 더 있음을 어떻게 알릴 수 있습니까?

글쎄, 당신은 당신이 만드는 모든 작은 일에 대해 동료에게 알리지 말아야합니다. 그렇지 않으면 많은 이메일을 보내야합니다. 그것이 큰 일이라면 작은 회의를하고 그들이 한 일을 알려줄 수 있습니다 (스크럼을한다면 별도의 회의를 설정할 필요가 없습니다).

자동 완성을 지원하는 IDE를 사용하는 경우 팀원이 변경 사항을 확인해야합니다. 코드에 주석을 달기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.