2016-05-15 17 views
0

Предположение, лежащее в основе показателей сцепления, заключается в том, что методы связаны с , если они работают с одними и теми же переменными уровня класса. Методы не связаны с , если они вообще работают с разными переменными. В сплоченном классе методы работают с одним и тем же набором переменных. В некогерентном классе существуют некоторые методы, которые работают с разными данными.Сплоченность в методах - как насчет расчетов и вспомогательных функций?

В метрике количество пар методов, которые имеют доступ к переменным экземпляра, полям, вычитается из пар, которые этого не делают.

Но как насчет методов, которые просто выполняют вычисления и возвращают значение? У меня их много, но поскольку они не разделяют каких-либо переменных экземпляра, рекомендуется их разделить, что для меня не имеет смысла.

ответ

0

Но как насчет методов, которые просто выполняют вычисления и возвращают значение?

Эти методы, к которым вы обращаетесь, называются утилитами (aka helper) и обычно считаются запахами кода с точки зрения дизайна OO. Следующая статья посвящена теме полезных методов и представляет собой иллюстративный пример с альтернативой рефакторинга: http://www.yegor256.com/2014/05/05/oop-alternative-to-utility-classes.html

Возможно, ваш инструмент анализа статического кода не распознает классы полезности (класс, который содержит только служебные методы), и дает вам тот же намек, который он дал бы для неуместного метода в классе. Перемещение каждого метода класса утилиты в отдельный класс не имеет большого смысла, предполагая, что вы уже сгруппировали свои методы на основе некоторых критериев.

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

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

  • Нет связанных вопросов^_^