Сплоченность и сцепление
Показатели, ориентированные на связность и взаимосвязь, должны дать хорошее представление о том, что ваши классы настоящие, а не наборы функций. Существует очень читаемая статья здесь, которую я цитирую ниже, чтобы показать, почему я считаю сплоченность хорошим показателем:
«Связность означает связанность» компонентов модуля. Высокосвязный компонент — это компонент с одной основной функцией. Должно быть трудно разделить сплоченный компонент. Сплоченность можно классифицировать по порядковой шкале, которая варьируется от наименее желательной категории (случайная сплоченность) до наиболее желательной (функциональная сплоченность)".
Классическим показателем сплоченности является отсутствие сплоченности в методах Чидамбера и Кемерера (LCOM). Вы также можете посмотреть Ответ для класса (RFC), который измеряет связь между методами в классе.
Вы можете рассмотреть проектные показатели, такие как NOC и DIT, но мой собственный опыт показывает, что они слишком грубы и их легко спутать с классами в сторонней структуре.
Вы не сказали, какой язык вы используете, но есть несколько инструментов, созданных для Eclipse, поэтому быстрый поиск в Интернете объектно-ориентированных метрик на основе Eclipse должен дать что-то полезное.
person
Chris McCauley
schedule
22.03.2010