문제

나는 시험해 보았다 ndepend, 그것에 대해 몇 가지 블로그 포스트를 읽고 심지어 팟 캐스트를 들었습니다. 나는 ndepend가 정말 유용한 도구일지도 모르지만 여전히 그것을 어디에서 사용할 것인지는 보지 못합니다.

어떻게 사용합니까? 당신은 그것을 사용합니까, 왜? 왜 안 돼?

나는 지구까지의 현실 세계 사례에 대해 듣고 싶습니다.

도움이 되었습니까?

해결책

나는 지난 몇 년 동안 ND 의존을 광범위하게 사용했습니다. 기본적으로 종속성 분석 도구이므로 많은 종속성 관련 문제를 해결할 수 있습니다.

내가 사용하는 주요 사항 중 하나는 내 어셈블리, 유형 및 방법 사이의 종속성을 조사하는 것입니다. 이를 통해 유형 간의 결합이 손에든지 여부를 보는 데 도움이되며 리팩토링 기회를 찾는 데 도움이됩니다.

다른 어셈블리로의 유형을 모배하는 대규모 리팩토러에 착수 할 때, 다른 어셈블리에 대한 유형을 볼 수 있도록 기존의 어셈블리로 내 유형을 움직일 필요가 없는지 알 수 있습니다. "

NDEPER은 또한 이러한 종류의 정보를 볼 수있는 훌륭한 시각적 매트릭스를 가지고 있습니다.

또한 환상적인 쿼리 언어 인 CQL이있어 사용자 정의 쿼리를 작성할 수 있습니다. 이것은 "이 방법을 부르는 모든 방법을 보여주기", 죽은 코드를 강조하기위한 쿼리, 원통형 복잡성, 커플 링 등의 쿼리 등의 단순한 것일 수 있습니다.

결과적으로 빌드 프로세스로 통합 될 수 있으므로 "메소드에 100 줄 이상의 코드가 있지만 주석이 없으면 빌드 실패"와 같은 CQL 쿼리를 기반으로 한 경고/실패를 만들 수 있습니다 (예 : 예입니다. - 나는이 특정 메트릭이 좋은 것이라고 제안하지 않습니다).

또한 코드 커버리지 데이터를 가져오고 코드 범위가 거의없는 영역을 시각적으로 표현할 수있을뿐만 아니라 코드 커버리지 정보에 대해 CQL 쿼리를 실행할 수 있습니다 (예 : 70% 미만의 코드 적용 범위가있는 메소드를 표시 함).

또한 현재 프로젝트의 빌드 및 이전 빌드를로드하고 "나 모두 Show Me All과 같은 쿼리를 실행할 수 있습니다. 새로운 코드 커버리지 <70% < - 기존 코드베이스에 더 큰 규칙을 도입하는 데 도움이됩니다.

이것은 환상적인 도구이며 배우기가 어렵지 않습니다. 처음에는 무섭습니다. 정보가 제공되는 엄청난 양 때문에, 강력하지만 강력히 권장됩니다.

다른 팁

또한 복잡한 방법 호출의 구조를 이해하는 데 매우 중요합니다. 예를 들어 특정 방법이나 필드를 사용하여 모든 방법을 호출 할 수 있으며 원형 호출, 원치 않는 종속성 또는 필요한 것보다 더 복잡한 경로 등의 문제가 있는지 확인할 수 있습니다.

의존성 그래프는 이제 대화식이므로 현재 관심이없는 방법을 제거하고 다른 사람들을 움직여 진행중인 일을 잘 시각화 할 수 있습니다.

어셈블리 버전 간의 변경 사항을 시각화하는 것이 유용하다는 것을 알았습니다. 주어진 릴리스의 변경 사항도 ...

CQL 쿼리를 설정하여 관심있는 코드 메트릭 (순환 복잡성, 긴 방법 등)을 측정 한 다음 시간이 지남에 따라 해당 영역에서 개선을 측정 할 수있는 지속적인 통합 환경에서 빛을 발한다고 생각합니다.

실제로이 도구는 다른 사람/공급 업체가 개발 한 응용 프로그램의 다른 부분에서 사용하는 인터페이스가있는 경우 도움이됩니다. 인터페이스를 변경할 때마다 코드를 중단하지 않기 위해 인터페이스를 사용하는 사람을 찾아야합니다 (어셈블리는 빌드되지 않음) 더 큰 프로젝트에 적용 할 수 있습니다.

이 도구는 응용 프로그램에 수많은 어셈블리가있을 때 도움이됩니다. 코드 종속성과 릴리스 간 변경 사항을 찾는 데 도움이됩니다.

또한 NDEPING을 사용하여 일부 어셈블리의 두 버전을 비교합니다. ndepend는이 탁월한 기능을 가지고 있습니다. 그것은 조립, 추가 된 방법, 제거 방법 등에 대한 변경 및 작업 진행에 대한 견해를 제공합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top