저는 항상 좋은 리드의 특징 중 하나가 각 개발주기 동안 필요에 따라 추가 교육을 제공하는 사람이라고 생각했습니다. 저에게 이것은 저 자신을 코딩하거나 코드를 검토 할뿐만 아니라 더 많은 저급 개발자들과 함께 앉아 프로그래밍을함으로써 내가 지뢰 한 지뢰를 피할 수 있도록 도와줍니다.
주로 우리의 주요 목표가 교육적이라는 환상은 없습니다. 그렇지 않습니다. 상급자, 리드 또는 하급 개발자이든 목표는 당신의 교양이 아닙니다. 목표는 항상 고객에게 품질 코드를 제공하는 것입니다. 바람직하게는 시간과 예산에 따라 원하는 것을 수행하십시오. 그러나 모든 업무를 직접 수행하는 것은 불가능하므로 모든 사람이 팀의 성공을 돕는 데 도움을주는 리드로서 저의 책임입니다. 그리고 그것은 훈련 기회가 실제로 나타날 때 인식하는 것을 의미합니다.
따라서 풀 요청이 주니어 훈련을위한 장소인지에 대한 귀하의 질문에, 나는이 기간 동안 가르치는 순간이 드물지 않다고 말해야 할 것입니다. 첫 번째 병합 충돌을 처리해야합니다. 검토 후이 문제를 해결하겠습니다. 오, 봐요, 당신은 당신의 DAO에 대한 단위 테스트를 포함하지 않았습니다, 우리는 우리가 그 새로운 방법을 다룰 수있을 때까지 당신의 검토를 연기 할 것입니다. 이 재무 계산에서 BigDecimals보다 이중 기본 요소를 사용하는 것이 더 나은 이유는 무엇이라고 생각 했습니까? 네, 그렇게 드문 일이 아닙니다.
따라서 확실히 일어날 수 있지만 풀 요청의 주요 목표는 아닙니다. 풀 요청의 코드가 프로덕션 준비가 될 것이라는 기대도 없다고 생각합니다. 종종 그렇지 않습니다.
gitflow 스타일 분기 전략에서 기능 및 릴리스 분기를 사용하는 경우 풀 요청은 릴리스 후보와 비슷합니다. 생산 준비가되어 있지 않지만 더 근사한 것입니다. 코드가 컴파일 된 것을 알고 있으며 (오른쪽) 사용자 스토리의 목표를 충족한다고 주장하기에 충분한 테스트 코브 페가 있습니다. 또한 개발 환경에서 여러 통합 테스트를 이미 실행 했으므로 PR을 검토하는 동안 변경 사항을 시연하라는 요청을 받으면 바로 데모를 진행할 수 있습니다.
궁극적으로 PR 검토 중에 도움을 제공해야한다고 생각하지만 일반적인 코딩에는 도움이되지 않습니다. 대신, 작업 품질의 프로덕션 품질 코드에 포함시키기 위해 제안 된 코드를 준비하는 것과 관련이 있습니다. PR은 개발자가 PR에 포함 된 각 변경 사항에 대한 타당성과 확실한 이해를 보여줄 수있는 기회입니다. 심지어 단위 테스트, 데모 및 많은 질문으로 무게를 측정 한 후에도 제안 된 변경 사항을 프로덕션에 적용 할 것으로 기대하지 않습니다.
코드는 결국 끝났습니다. 그러나 우리는 QA가 고문하도록했습니다.