Могу ли я найти количество методов без количества получателей через CQL? - PullRequest
1 голос
/ 08 декабря 2011

Я использую ndepend, чтобы найти проблемы с кодом.И прямо сейчас я обнаружил, что есть слишком много ложных срабатываний ошибок.

Например, у меня есть класс, который совсем не сложен, но у него есть много свойств.Итак, я получу предупреждение от NDepend, что у класса слишком много методов.

Вот готовое правило NDepend для получения классов с большим количеством методов:

WARN IF Count > 0 IN SELECT TYPES WHERE 
NbMethods > 20 
ORDER BY NbMethods DESC

Можно ли изменить способ вычисления количества методов в NDepend, поэтомуможет исключить свойства, где я хочу?

1 Ответ

1 голос
/ 08 декабря 2011

Могу ли я изменить способ, которым NDepend вычисляет количество методов, чтобы я мог исключить свойства, где я хочу?

Сергей, да, это возможно благодаря следующему правилу CQLinq :

warnif count > 0 
from t in Application.Types
let methods = t.Methods
   .Where(m => !m.IsPropertyGetter && !m.IsPropertySetter &&
               !m.IsConstructor)
where methods.Count() > 20
orderby methods.Count() descending
select new { t, methods }

Здесь вы получите не только количество методов, но и для каждого типа вы получите все методы:

enter image description here

...