트렁크로 병합하기 전에 코드 검토를 수행해야합니까?


10

StackOverflow에서 다시 게시를 요청했습니다.

개발 시간이 매우 짧은 소규모 개발 시간에 일하고 있습니다. 우리는 업무 결과에 중요하지만 매일 사용하지 않는 도구를 개발합니다. 나는 프로그래머로서의 배경을 가진 팀의 유일한 사람입니다.

내 문제는 1 년 이상 동안 트렁크로 병합하기 전에 코드 검토를 추진하고 있다는 것입니다. 모두가 이것에 동의했지만 여전히 검토 된 것은 내 코드 일뿐입니다. 긴 휴가에서 돌아온 후 "이것은 못생긴 솔루션입니다-가능한 빨리 제거하십시오"및 "빠른 수정"이라는 코드 주석이있는 트렁크로 돌아옵니다. 새로운 점은 도구에 대한 책임이 사람에게 지정되었다는 것입니다. (처음 나에게 제공된 역할이지만 업무와 관련이없는 이유로 거절했습니다.) 그리고 그는 이것이 일하기에 좋은 방법이라고 생각합니다.

저의 걱정은 다른 개발자가 못생긴 코드를 작성한다는 것입니다. 캡슐화를 깨고, 큰 클래스를 작성하고, 이상한 장소에 내부 클래스를 추가하거나, 단위 테스트가 거의 없거나 전혀없는 등. 결국 도구를 더 개발하는 것은 불가능합니다.

트렁크로 병합하기 전에 코드 검토를 수행해야한다고 주장해야합니까, 아니면 코드 품질에 문제가 있습니까?


3
"우리는 개발 시간이 제한되어 있기 때문에 우리는 그런 구석을 잘라야합니다." -> "지금 지불하거나 나중에 지불 할 수 있습니다." 나는 2 년 반 동안 코드 검토 및 단위 테스트를 위해 노력하고 있으며 항상 같은 대답을 얻었습니다. 물론 지금 우리는 수천 줄의 코드를 가지고 있기 때문에 모든 "코너 절단"이 다시 우리를 괴롭 히고 있습니다.
MetalMikester

그 사람이 더 경험이 많을수록 상황이 좋아질 것이다.
rwong

답변:


2

나는 전에 비슷한 상황에 있었고 imho는 "코드를 유지해야합니까"에 달려 있습니다.

코드를 유지 관리해야하는 경우 고품질 코드를 원하는 것보다 개인적으로 모든 커밋마다 코드 검토가 필요하지 않습니다 (예 : 특정 코드에 대한 검토가 필요한지 여부를 프로그래머가 스스로 결정할 수 있음). 순서가 맞을 수도 있습니다.

이것을 읽을 때 :

저의 걱정은 다른 개발자가 못생긴 코드를 작성한다는 것입니다. 캡슐화를 깨고, 큰 클래스를 작성하고, 이상한 장소에 내부 클래스를 추가하거나, 단위 테스트가 거의 없거나 전혀없는 등. 결국 도구를 더 개발하는 것은 불가능합니다.

귀하의 문제가 코드 검토보다 더 크다고 생각합니다. 몇 가지 지침이 누락되었거나 구현되지 않은 것 같습니다. 단위 테스트가 없거나 거의없는 것은 좋지 않은 생각이지만 특정 사례에 따라 다릅니다. 그러나 breaking encapsulation, writing huge classes, ...실제로 버그가 발생하기 쉬운 코드를 작성하여 확실히 수정해야합니다.


6

코드 검토 및 일부 코딩 지침을 유지하는 것이 좋은 생각이라고 생각하지만 체크인 할 때마다 코드를 작성하는 것은 시간 낭비 라고 생각합니다 . 팀을 구성 할 때와 젊은 프로그래머와 함께하는 것이 좋습니다. 그러나 숙련 된 프로그래머는 스스로 생각할 수 있으며 결국에는이를 신뢰해야합니다. 즉, 주기적으로 코드를 검토하여 최신 정보를 얻을 수 있지만 VCS에 들어가는 모든 코드 줄을 보면 실제로 그것을 능가하는 것입니다.

그리고 동료의 수정에 관한 작은 의견들 – 때때로 못생긴 수정을하는 것이 올바른 해결책 입니다. 이 특정 코드는 많은 시간을 투자하기에 충분히 중요하지 않을 수 있습니다. 간단한 솔루션이 충분하고 다른 것에 시간을 투자하는 것이 좋습니다. 코드를 "예쁘게"만드는 것이 프로그래머의 주요 목표는 아닙니다. 주요 목표는 모든 코드 라인 을 제공 하고 집착하는 것이 단순히 거기에 도달하지 못하게하는 것입니다.

내가 말하려는 것은 전투를 선택해야한다는 것입니다. 배달 전쟁 (또는이 문제에 대한이 중요한 서브 시스템 전쟁)을 얻기 위해 중요하지 않은 유틸리티 클래스와의 싸움에서 패배해도됩니다.


3

문제의 프로그램이 일회용 프로토 타입이 아닌 경우 모든 체크인시 코드 검토가 필수적이라고 생각합니다.

선임 개발자는 적절한 경우 검토를 요청할 정도로 양심적이라고 알려진 경우 검토되지 않은 체크인 권한을 가질 수 있습니다.


1

더 나은 코딩 표준을 시행하기 시작하기 전까지는 코드 검토가 확실하지 않습니다. 누군가는 크 래피 코드를 작성하고, 주석 처리 / 관리하고 어쨌든 확인합니다. 누군가가 코드를 거부하고 싶을 때 검토는 어떻게됩니까?

표준을 설정하고 주요 범인을보다 면밀히 감독하며 좋은 코드를 작성하는 데 항상 더 많은 시간이 걸리는 것은 아니라고 생각해야합니다. 나쁜 습관을 바꾸는 것을 거부하는 변명으로 타임 라인 사용을 중단해야합니다.

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