Я смотрю метку LCOM, как показано здесь,
http://www.ndepend.com/Metrics.aspx
Итак, мы говорим несколько вещей,
1) A class is utterly cohesive if all its methods use all its instance fields 2) Both static and instance methods are counted, it includes also constructors, properties getters/setters, events add/remove methods
Если я посмотрю на такой класс,
public class Assessment
{
public int StartMetres { get; set; }
public int EndMetres { get; set; }
public decimal? NumericResponse { get; set; }
public string FreeResponse { get; set; }
public string Responsetype { get; set; }
public string ItemResponseDescription { get; set; }
public string StartText { get; set; }
public decimal? SummaryWeight { get; set; }
}
Он получает плохую оценку 0,94, потому что каждый геттер и сеттер не получают доступа ко всем другим полям экземпляра.
Он рассчитывается следующим образом:
accessAverage - methodCount / 1 - methodCount
(2 - 17) / (1 - 17) = 0.94 (rounded)
Я не понимаю этот показатель, почему он должен включать в себя геттеры и сеттеры? Геттер и сеттер всегда будут иметь доступ только к одному полю экземпляра.