문제에는 두 가지 주목할만한 문제가 있습니다. 전술 부분과 마감일 부분입니다. 이것들은 뚜렷한 문제입니다. 첫 번째는 의사 소통과 팀 역학의 문제이고, 두 번째는 계획과 우선 순위의 문제입니다.
재치있게 . 나는 당신이 솔직한 자존심과 리뷰에 대한 부정적인 푸시 백을 피하고 싶다고 가정합니다. 몇 가지 제안 :
- 코딩 표준 및 디자인 원칙에 대한 이해를 공유하십시오.
- 코드 만 개발자를 비판하거나 검토하지 마십시오 . "귀하"또는 "귀하의 코드"라는 단어는 사용하지 말고 개발자와 분리 된 검토중인 코드에 대해 이야기하십시오.
- 완성 된 코드 의 품질에 자부심을 갖고 최종 결과를 개선하는 데 도움이되는 검토 의견이 있으면 감사하겠습니다.
- 수요보다는 개선을 제안하십시오 . 동의하지 않으면 항상 대화하십시오. 동의하지 않을 때는 다른 관점을 이해하십시오.
- 리뷰가 양방향으로 진행되도록하십시오. 즉, 검토 한 사람이 다음에 코드를 검토하도록합니다. "단방향"리뷰가 없습니다.
두 번째 부분은 우선 순위 입니다. 개선에 대한 많은 제안이 있지만 마감일이 다가오고 있으므로 몇 가지만 적용 할 수 있습니다.
글쎄, 당신은 처음에 이런 일이 발생하지 않도록하고 싶습니다! 지속적인 점진적 검토를 수행하여이를 수행합니다. 개발자가 기능에 대해 몇 주 동안 작업 한 다음 마지막 순간에이를 모두 검토하지 마십시오. 둘째, 코드 검토 및 검토 제안 구현 시간은 모든 작업에 대한 정기 계획 및 추정의 일부 여야합니다. 제대로 검토 할 시간이 충분하지 않으면 계획에 문제가있는 것입니다.
그러나 프로세스에서 문제가 발생했다고 가정 해 봅시다. 이제 많은 검토 의견에 직면하게되었으며이를 모두 구현할 시간이 없습니다. 우선 순위를 정해야합니다. 그런 다음 연기 할 경우 나중에 변경하기가 가장 어렵고 가장 위험한 변경 사항으로 이동하십시오.
소스 코드에서 식별자의 이름을 지정하는 것은 가독성과 유지 관리에 매우 중요 하지만 향후 변경이 매우 쉽고 위험도 적습니다. 코드 형식과 동일합니다. 따라서 그 물건에 집중하지 마십시오. 반면에 공개적으로 노출 된 인터페이스의 안전성은 미래에 실제로 변경하기 어렵 기 때문에 우선 순위가 가장 높아야합니다. 영구 데이터는 변경하기가 어렵습니다. 데이터베이스에 불일치 또는 불완전한 데이터를 처음 저장하기 시작하면 나중에 수정하기가 어렵습니다.
단위 테스트로 다루는 영역은 위험이 낮습니다. 나중에 언제든지 수정할 수 있습니다. 아니라, 지역이 수 단위 테스트가 지역보다 낮은 위험하다 할 수 없습니다 단위 테스트합니다.
외부 서비스에 대한 하드 코딩 된 종속성을 포함하여 단위 테스트 및 모든 종류의 코드 품질 문제가없는 큰 코드 조각이 있다고 가정하십시오. 대신이 종속성을 주입하면 코드 청크를 테스트 할 수 있습니다. 이것은 당신이 미래에 테스트를 추가 할 수 있습니다 의미 다음 문제의 나머지 부분을 고정에서 작동합니다. 하드 코드 된 종속성을 사용하면 테스트를 추가 할 수도 없습니다. 먼저이 수정을 수행하십시오.
그러나 처음에는이 시나리오에서 끝나지 않도록하십시오!