2010-03-16 2 views

답변

5

당신은 당신의 전체 코드 검토를위한 도구에 의존해서는 안 -하지만 당신은 더 갈 수있는 등 일부 도구의 이름을 지정, 스타일의 일관성을 확인 잠재적 인 동시성 문제를 안보, 도움이되는 도구를 사용할 수 있습니다 , 널 포인터 역 참조 등.

앞에있는 많은 문제를 수정하여 나머지 코드 검토를 위해 보드에 다른 사람을 데려 오는 것이 좋습니다. 가능한 한 유용하게 시간을 할애 할 수 있습니다.

코드를 검토하기 전에 응용 프로그램을 "완료"한 것에 약간 놀랐습니다. - 소스 제어에 대한 각 체크인 시점에서 코드 검토를하는 것이 훨씬 더 좋은 생각이라고 생각합니다 ; 그렇게하면 훨씬 더 일찍 설계에서 잠재적 인 약점을 발견 할 수 있습니다.

+0

@jon 당신이 사용하는 C# 코드 검토 도구는 무엇입니까? –

+0

@jon 너무 알고 싶습니다 ... –

+0

@Pandiya : 솔직히 말해서, 저는 많은 것을 사용하지 않았습니다 ... C#으로 제작 코드를 작성하지 않은 것을 잊지 마십시오. 저는 하루 동안 자바 개발자입니다.) 그러나 .NET 4에서 FxCop, StyleCop 및 코드 계약을 조사해야합니다. 또한 ReSharper를 사용하여 코드의 일관된 코드 검토를 제공한다고 덧붙였습니다. 잠재적 인 문제를 나타내는 코드 옆에 색 막대가 있습니다 및 제안. –

3

검토 단계에서 발생할 수있는 문제를 조사하는 데 많은 도움이됩니다.

0

팀원으로 일하는 경우 모든 사람이 변수 명명 규칙, 설명, 적당한 크기의 함수, 직접 쿼리 대신 저장된 procs 사용 등과 같은 특정 표준을 어떻게 준수했는지 어떻게 알 수 있습니까? 이것은 도구가 당신을 도울 수있는 곳입니다. 비즈니스 논리의 순수한 로직 및 핵심 기능에 관해서는 도구가 그 정도로 도움을 줄 수는 없습니다.

.NET CLR 프로파일 러 도구는 예를 들어 코드 성능에 대해 많이 알려줄 수 있으며 모든 것을 매우 느리게 만들기 때문에 프로덕션 환경에서 실행하는 것에 대해 생각조차 할 수없는 도구입니다.

의 FxCop - http://msdn.microsoft.com/en-us/library/bb429476(VS.80).aspx

<snip> 

의 FxCop은 같은 가능한 디자인, 지역화와 어셈블리에 대한 보고서 정보 (.NET Framework 공용 언어 런타임을 대상으로 코드)는 코드 어셈블리를 관리 분석 응용 프로그램입니다 성능 및 보안 향상을 제공합니다. 많은 문제는 .NET Framework를 사용하여 강력하고 쉽게 관리 할 수있는 코드를 작성하기위한 Microsoft 가이드 라인 인 클래스 라이브러리 개발자를위한 디자인 지침에 설명 된 프로그래밍 및 디자인 규칙을 위반하는 것과 관련이 있습니다. FxCop은 클래스 라이브러리 개발자를 대상으로합니다. 그러나 .NET Framework 모범 사례를 준수해야하는 응용 프로그램을 만드는 모든 사용자에게 도움이됩니다. FxCop은 .NET Framework를 처음 사용하거나 .NET Framework 디자인 지침에 익숙하지 않은 사람들을위한 교육 도구로 유용합니다. FxCop은 소프트웨어 개발주기에 완전히 통합되도록 설계되었으며 대화 형 작업을위한 그래픽 사용자 인터페이스 (FxCop.exe)와 (FxCopCmd.exe) 명령 줄 도구로 배포됩니다. 자동화 된 빌드 프로세스의 일부로 사용하거나 Microsoft Visual Studio® .NET과 통합하여 외부 도구로 사용할 수 있습니다.

</snip> 

참고 : 도구 http://www.codeplex.com/TFSCodeReviewFlow http://msdn.microsoft.com/en-us/library/ms998364.aspx https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-5034931.html

1

, 당신은 정적 분석 어떤 종류의 일을하여 작업의 "바보"부분을 자동으로 수행하는 도구를 의미하고를 떠나 않습니다 인간을위한 흥미로운 부분 (자동화 할 수 없기 때문에) 또는 사람들 간의 협력을 용이하게하는 도구, 즉 reviewboard, Google Code's code review tool, codebeamer 등과 같은 검토 및 수정 추적 도구를 의미합니까? 두 경우 모두, 나는 약간의 힌트를 주었다고 생각합니다.

관련 문제