2008-09-22 5 views
3

연속 통합을 사용할 때 코드 검토에서 어떤 점을 찾으십니까? 코드 리뷰가 코딩 스타일, 맞춤법 오류, 자원 사용법, 오류 처리 등과 같은 것들을 언급하는 것과 같은 많은 문헌들이있는 것처럼 보입니다. (아마도 그 순서가 아닙니다 :-) 그러나 FxCop과 StyleCop 같은 도구는 하찮은 문제들.CI를 사용한 코드 검토

가능한 한 많은 수표를 CI에 푸시하여 시간을 절약하고 그러한 수표가 일관되게 수행되도록해야한다고 생각합니다. 이 접근법을 취하는 경우 리뷰에서 찾아야 할 주요 사항은 잘못된 디자인, 기존 코드 구조를 제대로 사용하지 않는 것, 테스트에서 누락 된 미묘한 결함 등입니다.

다른 사람들은 어떻게됩니까? CI가있는 리뷰를 제자리에서합니까? 리뷰에서 다른 어떤 것들을 찾으십니까?

답변

3
  • 보안 문제
  • 성능 GUI를 자동으로 아마 제외 (기계에 의해 시험 할 수없는 어떤 거의

을 주석

  • Scability
  • 좋음,
  • 유용성을 발행 성능/보안 문제가 있지만 인간이 쉽게 탐지 할 수 있습니다.)

  • +0

    테스트 적용 범위 – metao

    +0

    사실이지만 그럴 수도 있습니다. CI에 의해 자동 테스트. – TraumaPony

    1

    내 경험에 비추어 볼 때 코드 리뷰는 가능한 최선의 방법으로 일을 처리하는 것에 관한 것입니다. 일반적으로 검토 결과는 약간의 리팩토링이 될 것입니다. 코드가 조금 어리 석다면 다른 것들을 수정해야 할 수도 있습니다. FxCop 및 ReSharper와 같은 제품은 코드 품질에 많은 도움이됩니다.

    1

    코드 검토의 주요 측면은 모든 말들이 같은 방향으로 당겨지고 있는지, 즉 코드가 팀 철학과 일치하는지 확인하는 것입니다. 옵션 A 또는 옵션 B가 합리적이지만 실제로 혼합되어서는 안되는 몇 가지 작은 변형 및 토론이 있습니다. 예 : 단위 테스트 getters/setters 100 % 코드 범위, 또는 봄에 대한 생성자 대 setter 초기화를 사용합니다. 우리는 이것들을 논쟁 할 수는 있지만 일단 결정되면 팀은 일관성에 대한 결정에 정말로 전념해야합니다.

    선택이 합리적 (또는 모호)하기 때문에 CI 위반을 테스트하기가 어렵습니다. 리뷰를 통해 "동등한 압력"을 느끼는 것이 훨씬 쉽습니다.

    저는 코드 커버리지, 국제화 및 데이터 버전 관리와 같은 특정 세부 사항에 대해 blogged on this입니다. 이것은 팀 철학에 대한 일관성이 중요한 몇 가지 문제 일뿐입니다.

    0

    코드 가독성 및 향후 유지 관리 가능성은 자동화 된 솔루션에서 누락되는 큰 문제입니다. 문서화되지 않은 부작용과 방법에 대한 요구 사항이 극적으로 증가합니다. changeX() 메서드는 X를 변경하지 않고 getFoo() 메서드는 foo의 값을 반환하고 또한 개체의 내부 상태에 비밀리에 7을 추가합니다.

    0

    코드가 가능한 최상의 비즈니스 가치를 제공한다는 것. 또한 코드 리뷰는 작성된 코드에만 국한되는 것이 아니라 미래에 작성 될 코드를 형성하는 데 도움이됩니다. 사용 가능한 툴을 통해 요즘 우리가 찾던 대부분이 이미 (거의 대부분) 타임 코드에 의해 관리되고 있으며 소스 제어에 전념하고 있습니다. 적어도 그렇게해야한다고 생각합니다. 여기에이 주제에 관해 내가 전에 쓴 것의 발췌 문장이있다.

    ".최근 몇 년 동안 네트워크 코드 검토 도구가 개선되어 코드 검토의 전통적인 필요성이 제거되었지만 가장 중요한 부분은 제거되었습니다. FxCop과 같은 정적 분석 도구는 모든 코드 결정 성 업계 표준 지침을 자동으로 검토합니다. Microsoft가 최근에 발표 한 Source Analysis (a.k.a. StyleCop)와 같은 소스 분석 도구를 통해 모든 소스 코드 스타일을 검토 할 수 있습니다. 지속적인 통합 및 TDD 코드를 검토하여 예상 비즈니스 시나리오를 작성하고 충족하는지 확인합니다. NDepend와 같은 제품이 최근 코드를 검토하고 통계 정보를 제공하여 디자인이 지속 가능성으로 이어지는 원리를 따르는 지 확인하는 데 도움이되었습니다. 이러한 모든 유형의 도구는 우리가 소프트웨어를 검토하는 생태계를 보강합니다. 그러나 이들 중 누구도 코드 검토의 가장 중요한 측면 중 하나에서 도움을 제공하지 않습니다. "이 코드는 비즈니스 도메인에 최상의 가치를 제공합니까?"라는 질문에 대한 대답은 FxCop, StyleCop을 통과하기 때문에 NDepend 자동화 된 테스트를 통과한다고해서 최상의 비즈니스 가치를 제공한다는 것은 아닙니다. 이러한 도구는 도메인이없는 코드 검토 에코 시스템의 일부이며 소프트웨어를 만드는 비즈니스 나 코드가 해당 도메인에 얼마나 잘 작동하는지에 대한 통찰력이 없습니다. "최상의 가치"질문에 대한 답은 어떤면에서 주관적이지만 답변을 제공하는 가장 유능한 사람들은 자신이 보유한 암묵적인 기술 및 비즈니스 지식을 사용하는 해당 도메인의 코더입니다. 코드 검토는 해당 암묵적인 지식을 적용하고 공유하고 "최상의 가치"에 대한 답변을 찾는 방법입니다. - TeamReview - New Business Value From Code Review