2009-05-25 4 views
7

우리 팀에서는 코드 리뷰를 좋아하지만 언제든지 코드 검토가 가능하기 때문에 프로그래밍 "영역"에있을 때 언제든지 문제가 발생하여 검토를 수행 할 수 있습니다. 검토는 훌륭하지만, "영역"에 다시 들어가기까지 10 분이 소요됩니다.예약 된 코드 검토?

코드 리뷰를 수행하는 데 필요한 최상의 방법을 논의하면서 생산에 미치는 영향을 최소화했습니다. 그래서 나는 일종의 스케쥴을 가지고 있다는 생각을 즐겼습니다 : 프로그래머가 쌍을 이루어 하루 코드에 관해 이야기하는 시간 이었지만, 검토 시간까지 기다려야한다는 것을 의미합니다. 그래서 나는 아직도 그것에 대해 확신하지 못한다.

따라서 코드 검토를 가장 잘 관리하면서 중단을 줄이는 방법은 무엇입니까?

감사합니다.

답변

5

저는 사람들을 일찍 그리고 자주 참여시키는 것이 아이디어라고 생각합니다. 코드 검토는 협업을위한 기회로 간주되어야하며 궁극적으로 코드의 디자인과 품질이 향상 될 것입니다. 코드 리뷰가 목록을 확인하거나 진행 방해로 간주되는 항목 일 경우 리뷰의 정신을 놓친 것 같습니다.

최상의 코드 리뷰는 코드 작성자가 실제로 코드를 검색 할 때 발생합니다. 즉, 검토가 끝날 때까지 코드를 체크인하지 않는 규칙이있는 경향이 있습니다. 그런 식으로 일종의 정기 검토입니다. 그러나 끝날 때까지 기다리면 코드 검토를 통해 디자인에 영향을 미치지 않아도됩니다.

당신도 문제를 해결하고 프로그래밍을 할 수 있습니다. 당신은 문제가 몇 가지 코드를 이해가있는 경우에만 사용되어야한다 나는를 즉석 리뷰 이런 종류의를 생각한다)

+0

우리는 당신이 말하는 것을 100 % 믿습니다. 문제는 코드를 검토하는 데 엄청난 시간이 걸린다는 것을 알았을 때해야 할 일입니다. 팀이 4 ~ 5 명인 경우이를 알 수 있습니다. 어떤 사람들은 다른 사람들보다 코드의 특정 부분을 재검토해야합니다. 로드 균형을 조정하고 멤버간에 리뷰를 공유하려고해도 모든 사람이 코드베이스의 모든 부분을 아는 것은 아닙니다. – djcouchycouch

0

당신은 체크리스트와 같은 종류의 일을하고 개발자들이 자신의 가장 좋은 시간을 선택하게 할 수 있습니다. 그러나 실질적인 결과가있는 실제 마감 시간이 있어야합니다. 그렇지 않으면 완료되지 않습니다. 또한 "리뷰 금요일"또는 특정 날짜에 리뷰가 수행되도록 권장하는 것과 같은 "리뷰 일"로 하루를 만들 수도 있습니다.

1

프로그래머가 기능 단위 추가를 마쳤 으면 해당 기능에 대한 예상 시간이 하루 미만이면이 작업을 수행하는 것이 좋습니다.

또는 더 나은 아직, (당신에게 사실상 연속 코드 검토를 제공하는) 프로그래밍 프로그래밍 작업을 수행하지만 정식 코드 검토는 여전히 덜 빈번하게 수행합니다.

0

G'day,

을, 당신은 생산성을 얻을 동시에 모두를 검토합니다.

코드 검토를 최대한 활용하려면 검토중인 코드 조각을 사람들이 독립적으로 볼 수 있도록 미리 예약해야합니다.

작성자가 바로 옆에있을 때 검토자가 누락 된 오류를 쉽게 말할 수 있다는 것은 놀랍습니다. 약간의 시간이 주어지면 대부분의 검토자는 코드 내에서 오류를 찾아 낼 가능성이 높습니다.

요약하면 미리 리뷰를 예약하고 검토자가 충분한 시간 내에 코드를 검토 할 수 있는지 확인하십시오.

HTH

환호,

0

절충 사람들에게 검토를 위해 준비 할 시간을주고 중단을 최소화 사이에 힘든 일입니다. 다른 시간의 트레이드 오프는 코드가 여전히 "신선한"상태에서 검토를 완료하면 더 복잡해집니다.

많은 무리의 그룹이 최선의 의도로 길을 걷는 것을 보았습니다. 그물에 너무 파괴적이기 때문에 연습이 시들고 죽을뿐입니다.

최소한의 방해로 새로운 리뷰를 얻는 것이 가장 좋았던 점은 시간을 왼쪽 끝까지 돌려서 코드가 작성 될 때 페어 프로그래밍 에 의해 리뷰하는 것입니다. 테스트를 다른 형태의 검토로 작성합니다. 테스트를 통해 리뷰어는 "이 모든 작업이 가능합니까?"에 대해 덜 걱정할 필요가 있습니다. 코드 작성시 눈에 여분의 눈이 보이면 다른 사람들의 리뷰 시간이 더 걸릴 수있는 좋은 방법입니다 (). 그것은 훨씬 더 빨리 지식을 확산시킵니다.

여전히 중요한 코드에 대한 그룹 리뷰를 수행 할 수는 있지만 리뷰가 줄어들면 특별한 사람을 준비 할 가능성이 커집니다.

이것은 모든 사람이하는 것은 아니지만 제가 작업 한 팀은 TDD를 완료했으며 페어 프로그래밍은 결함 수가 적은 훨씬 깨끗한 코드를 사용하는 경향이 있습니다.

0

공개 : 웹 기반 코드 검토 응용 프로그램 인 Crucible을 판매하는 Atlassian에서 일합니다.

는 그 페어 프로그래밍 귀중한 연습 동의, 그것은 코드 검토의 장점 중 일부 제공 (코드 검토와 관련이없는 물론 다른 혜택을!)

당신은 중단이 검토 자에게 발생 감소시킬 수있다 코드 검토 도구를 사용하여 각 검토자가 자신에게 편리한 시간에 검토를 수행하도록합니다. 이것은 또한 리뷰어가 코드를 받아들이도록 이야기하는 저자의 문제를 제거합니다.

0

당신이 할 수있는 한 가지 방법은 "체크 인 검토"입니다. 다시 말해, 매일 매일 누군가가 모든 체크인을 검토 한 다음 깜박할만한 것이 있으면 즉시 해당 개발자에게 이메일을 보냅니다.

즉각적인 피드백이 있습니다. 코드가 변경되어 개발자의 마음에 새롭기 때문에 품질이 개선되어 그로부터 배웁니다.

나는 그것이 아주 잘 작동한다는 것을 발견했다. 그러나이 접근법으로 해결할 수없는 한 가지 점은 개발자가 코드 전체를 검사 할 때입니다. 이 방법을 사용하면 한 번에 여러 파일 전체를 검토하기가 어렵습니다. 그것은 또 다른 접근 방식을 필요로합니다. 효율적인 방식으로, 여전히 찾고 있습니다.