2011-01-17 5 views
5

C# 클래스에 대해 Visual Studio 코드 분석 경고 CA1506이 표시됩니다. "FormMain은 다른 25 가지 네임 스페이스의 93 가지 (IComponent가 아닌) 유형과 결합됩니다. 클래스 연결을 줄이거 나이 클래스의 메서드를 다시 작성하거나 다시 정의하거나 클래스의 메서드 일부를 다른 형식으로 옮기는 것을 고려합니다. 95보다 큰 클래스 연결은 유지 관리가 좋지 않음을 나타내며 95와 80 사이의 클래스 연결은 적절한 유지 관리 가능성을 나타내며 80보다 낮은 클래스 연결은 양호한 유지 관리 가능성을 나타냅니다. "FxCop/코드 분석 경고 CA1506 : AvoidExcessiveClassCoupling

제 질문은 FormMain이 연결된 모든 유형의 목록을 어디서 볼 수 있습니까? 더 나은 상황을 이해할 수 있습니까?

감사합니다.

+0

이 양식에 있나요 얼마나 많은 컨트롤? form.cs 파일에 몇 줄의 코드가 있습니까? –

+0

Developer Express 리본 막대와 도킹 패널을 사용하고 있습니다. 리본 막대에는 약 30 개의 컨트롤이 있습니다. 빈 줄과 주석을 포함하여 약 1600 줄 (FormMain.Designer.cs 포함)이 아니라 약 800 줄이 빈 줄 또는 주석이 아닙니다. – RenniePet

답변

4

당신은 ('에 따라'클래스에서 마우스 오른쪽 단추로 클릭하고 '분석', 확장) 모두에게 클래스 사용을 분석 Reflector을 사용할 수 있습니다

+0

고맙습니다. 매우 흥미로 웠습니다. 내 질문에 대한 대답은 그 목록에 묻혀 있다고 생각합니다. 지금 알고 싶습니다. 형식 만 포함하는 목록을 얻는 방법이 있고 형식 내의 모든 메서드가 아니라면 DevExpress 형식에 숫자를 쉽게 대입 할 수있는 방법이 있습니다. .Net Framework 유형 대 내 유형. – RenniePet

+0

웃기는, 그 목록에서 모든 메서드를 제거하면 20 개의 네임 스페이스에 약 145 가지 유형이 생깁니다. 이는 코드 분석에서 경고 메시지에서 말한 것과 정확히 일치하지 않습니다. 아직도, 나는 지금 DevExpress에 "문제"에 대한 비난을 퍼트면서, 그 경고를 무시할만큼 충분히 확신하고있다. (DevExpress는 70 가지 유형, 40 가지의 .NET Framework, 나머지 30 가지 유형은 계정입니다.) – RenniePet

+0

@RenniePet - 양식에 비즈니스 로직이나 데이터베이스 액세스 코드가 있습니까? 그렇다면 해당 기능을 별도의 클래스로 이동하면 양식의 종속성을 줄일 수 있습니다. – Pedro