SonarQube에는 Java 전용 아키텍처 규칙 엔진이 있습니다. C# .net 프로젝트에 비슷한 참조 아키텍처 규칙을 구현하는 방법을 찾고 있습니다. 예를 들어C# 용 SonarQube 아키텍처 규칙 엔진
: *.B.*
클래스
*.A.*
에
- 금지를 액세스
*.C.*
*.A.*
클래스에서 적어도 하나의 액세스 시행.
이것을 구현하는 가장 좋은 방법은 무엇입니까? FXCop에서 이러한 규칙을 만들 수 있습니까?
SonarQube에는 Java 전용 아키텍처 규칙 엔진이 있습니다. C# .net 프로젝트에 비슷한 참조 아키텍처 규칙을 구현하는 방법을 찾고 있습니다. 예를 들어C# 용 SonarQube 아키텍처 규칙 엔진
: *.B.*
클래스
*.A.*
에
*.C.*
*.A.*
클래스에서 적어도 하나의 액세스 시행.이것을 구현하는 가장 좋은 방법은 무엇입니까? FXCop에서 이러한 규칙을 만들 수 있습니까?
를 사용합니다.
그러나 실제로는 사용자 지정 FxCop 규칙 (기존 C# SonarQube 플러그인에서 지원됨)을 개발하거나 Nitriq과 같이 지원되지 않는 도구에서 문제를 가져 오는 새로운 SonarQube 플러그인을 개발할 수 있습니다. 제안했다.
은 R # 플러그인을보고 당신이에 어떤 도움이 필요하면 SonarQube 개발 메일 링리스트에 요청을 보내 주시기 바랍니다 : https://github.com/SonarCommunity/sonar-resharper
을당신은 Nitriq와 규칙을 만들 수 있습니다
가 .A 에 대한 액세스를 금지하고 있습니다..B. 클래스
var results =
from t in Types
where t.Name.Equals("A") && t.TypesUsing.Any("B")
select new { t.TypeId, t.Name, t.FullName };
Warn(results, 0);
.A 적어도 하나에 액세스를 적용..C. 클래스.
var results =
from t in Types
where t.Name.Equals("A") && !t.TypesUsing.Any("C")
select new { t.TypeId, t.Name, t.FullName };
Warn(results, 0);
또 다른 방법은 우리가 확실히 C# SonarQube 플러그인과 함께 상자에서 이러한 규칙을 제공하려면, 장기적으로 Roslyn