2015-05-14 1 views
0

Я использую SonarQube для улучшения качества кода C#. Я определил профиль качества с правилом: «Класс не должен быть связан со многими другими классами (csharpsquid: ClassCoupling)». Однако, начиная с версии 3.4 плагина C#, это правило было удалено. Я могу понять, что это правило противоречиво, однако это может указывать на то, что у класса слишком много обязанностей. Несмотря на это, это неопределенно, разработчик может по-прежнему отмечать проблему как ложный позитив. Кроме того, можно установить порог, за которым обнаружено нарушение. Я думаю, было бы лучше оставить свободу, чтобы добавить или не это правило в профиль качества, а не просто удалить его из списка. Единственные другие правила, которые я нашел для его замены: CA1505: Избегайте недостижимого кода (fxcop: AvoidUnmantainableCode) и CA1506: Избегайте чрезмерной связи класса (fxcop: AvoidExcessiveClassCoupling). Я не думаю, что это более ясно или менее расплывчато. Итак, есть ли другие альтернативы, которые я могу использовать для измерения сцепления классов?Как обнаружить связь слишком высокого класса с помощью SonarQube с плагином C# 4.0

ответ

0

Я знаю, что это решение немного упрямый, но на нашей стороне, мы решили, что каждая проблема порождена правило почти никогда не приводит к противоречивой дискуссии, чтобы определить, если проблема является ложноположительным или не в соответствии с контекст. Даже если это правило «csharpsquid: ClassCoupling» может показаться полезным, на практике он генерировал слишком много ложных срабатываний с точки зрения конечного пользователя, поэтому мы решили просто отказаться от него. См. https://jira.codehaus.org/browse/SONARCS-464.

Смежные вопросы