Я использую SonarQube для улучшения качества кода C#. Я определил профиль качества с правилом: «Класс не должен быть связан со многими другими классами (csharpsquid: ClassCoupling)». Однако, начиная с версии 3.4 плагина C#, это правило было удалено. Я могу понять, что это правило противоречиво, однако это может указывать на то, что у класса слишком много обязанностей. Несмотря на это, это неопределенно, разработчик может по-прежнему отмечать проблему как ложный позитив. Кроме того, можно установить порог, за которым обнаружено нарушение. Я думаю, было бы лучше оставить свободу, чтобы добавить или не это правило в профиль качества, а не просто удалить его из списка. Единственные другие правила, которые я нашел для его замены: CA1505: Избегайте недостижимого кода (fxcop: AvoidUnmantainableCode) и CA1506: Избегайте чрезмерной связи класса (fxcop: AvoidExcessiveClassCoupling). Я не думаю, что это более ясно или менее расплывчато. Итак, есть ли другие альтернативы, которые я могу использовать для измерения сцепления классов?Как обнаружить связь слишком высокого класса с помощью SonarQube с плагином C# 4.0
0
A
ответ
0
Я знаю, что это решение немного упрямый, но на нашей стороне, мы решили, что каждая проблема порождена правило почти никогда не приводит к противоречивой дискуссии, чтобы определить, если проблема является ложноположительным или не в соответствии с контекст. Даже если это правило «csharpsquid: ClassCoupling» может показаться полезным, на практике он генерировал слишком много ложных срабатываний с точки зрения конечного пользователя, поэтому мы решили просто отказаться от него. См. https://jira.codehaus.org/browse/SONARCS-464.
Смежные вопросы
- 1. Какова связь между плагином SonarQube и правилами SonarQube?
- 2. SonarQube с плагином C# с MSBuild Runner занимает много времени
- 3. SonarQube с плагином C# с MSBuild Runner не принимает исключений
- 4. Как запустить анализ SonarQube класса с помощью плагина Jenkins SonarQube
- 5. Импорт отчета PC-lint вместе с коммерческим плагином SonarQube C++
- 6. C# 4.0 Обратная связь
- 7. Вложенная связь с Laravel 4.0
- 8. SonarQube 5.5 несовместим с плагином отчетов 1.6
- 9. SonarQube 4.0 и Xerces
- 10. Связь с контроллером высокого напряжения в AngularJS
- 11. Интеграция Visual Studio 2010 и C# 4.0 с SonarQube 5.1.2
- 12. Есть ли связь между плагином eclipse для sonarqube и плагином maven?
- 13. C# Связь между плагином и хост-приложением
- 14. sonarqube 4.0 Предварительный анализ (локальный)
- 15. dotnetbrowser с плагином земли слишком медленно
- 16. Связь SOCKS с использованием .net framework 4.0
- 17. Как изменить правило кода в SonarQube 4.0?
- 18. Интерфейсы более высокого класса с ограничением «инвентаря»
- 19. Какие языки высокого уровня легко сопряжены с C/C++?
- 20. Как обнаружить числа/цифры с помощью встроенного класса OcrEngine
- 21. Проблема с плагином Eclipse с плагином CDT
- 22. Проблема с плагином PDF с Sonar 5.1
- 23. SonarQube не определяет правила с новым плагином pmd
- 24. Sonarqube с плагином Cxx не показывает ошибки только код запахи
- 25. Связь и связь с AutoCAD в C++
- 26. Validate формат даты с помощью C# 4.0
- 27. Связь между двумя компьютерами с помощью C#
- 28. Как обнаружить Enter с C#?
- 29. Последовательная связь Android с помощью программы C
- 30. Кортежи в C# 4.0 - объекты класса класса