오픈 소스 프로젝트에 코드 리뷰가 있습니까? 그렇다면 어떤 도구를 사용합니까?


10

상용 개발에서 코드 검토가 크게 요구된다는 것을 알고 있습니다. 그러나 코드 검토는 오픈 소스 소프트웨어에서 사용됩니까, 아니면 신뢰를 기반으로합니까? 그렇다면 어떻게 수행됩니까? [지연된 커밋, "프리 커밋 환경", 패치를 다른 개발자에게 보낼 수있는 도구가 있습니까?]

코드 검토를 사용하는 프로젝트가 있습니까?

내가 이해 한 바에 따르면 리눅스 커널은 커미터에 대한 신뢰를 바탕으로합니다. MySQL은 주요 저자의 승인과 성능 영향을 기반으로합니다.


4
리눅스는 실제로 중위 + 독재자 시스템을 사용합니다.
대안

답변:


13

거의 모든 오픈 소스 프로젝트는 일종의 게이트 키퍼 워크 플로우를 사용합니다. 여기서 개인 또는 그룹 사람들은 공식 빌드로 들어가기 위해 모든 변경 사항에 서명해야합니다. Linux 커널과 같은 일부 큰 프로젝트에는 게이트 키퍼 계층이 있습니다. 하위 시스템의 영역을 관리하는 사람에게 변경 사항을 보내고 전체 하위 시스템을 관리하는 사람에게 변경 사항을 보내며 Linus Torvalds에게 변경 사항을 보냅니다. 이러한 검토는 일반적으로 공식적인 구조를 갖지 않습니다. 병합되기 전에 코드를 살펴 보는 사람입니다.

도구에 관해서는 좋은 예를 위해 github의 pull request 메커니즘을 살펴보십시오. 풀 요청을 작성하고 해당 풀 요청 전용 웹 페이지에서 사람들이 주석을 작성하고 작성자가 승인 할 수있을 때까지 수정합니다. 다른 게이트 키퍼는 일반 git을 사용하여 메일 링리스트의 패치를 적용하거나 공개 리포지토리의 풀 풀 요청을 병합합니다. 이것은 git와 같은 DVCS가 발명 된 주요 이유 중 하나입니다.


5

오픈 소스 프로젝트에는 종종 프로젝트 워크 플로에 대한 설명과 기여가 승인되는 방식 (및 테스트 방법)이 포함 된 명확하게 게시 된 "커뮤니티 가이드 라인"이 포함되어 있습니다. 핵심 커미터가되기위한 프로세스로

코드 검토에 관해서는 커뮤니티에 따라 다르지만 지침은 종종 명확합니다. 비커 미터에 의한 기여에 대한 일부 예시 지침은 "작업 코드 승리"에서 "기여에는 코드와 동시에 커밋 된 테스트와 함께 전체 테스트 적용 범위 및 문서가 있어야합니다"와 그 사이의 모든 범위에 이르기까지 다양합니다. 이러한 지침에 관계없이, 암시 된 한 가지 지침은 핵심 커미터가 비커 미터의 모든 기여를 수락하기 전에 검토한다는 것입니다.

핵심 커미터 그룹이있는 오픈 소스 프로젝트는 종종 가상 회의 또는 헌신적 인 시간을가집니다. 질문이 종결되기 전에 특정 평판을 가진 사용자가 여러 번 투표 한 SE 프로세스와 매우 유사합니다. 메타 또는 채팅을 통한 의심스러운 것들에 대한 토론.

다음은 내가 가장 잘 알고있는 프로젝트의 커뮤니티 문서 예에 대한 몇 가지 빠른 링크입니다. 여기서 해당 프로젝트와 관련된 질문에 대한 답변을 찾을 수 있습니다 (곧 주제를 알게 됨).


단위 테스트를 언급했습니다. 단위 테스트로 제출 된 버그 보고서를보고 싶습니다. :) 나는 그 가이드에 대해 전혀 몰랐다. 감사!
monksy 2015 년

3

더 큰 OSS 프로젝트에는 많은 핵심 커미터가 있습니다. 그래서 나는 그들이 사실상 "코드 검토 자"라고 생각합니다.

또한 OSS 코드는 본질적으로 모든 사람에게 공개되어 있으므로 작성중인 코드에 대해 훨씬 더 많은 토론이있을 것입니다. 이것이 공식 코드 검토의 형태가 아닐 수도 있지만 특정 OSS 프로젝트에서 코드가 처음부터 시작된 것으로 간주되지 않는지 확실히 알 수 있습니다.

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