Одна значимая интерпретация хорошего ОО-проекта заключается в том, что объекты в дизайне логически и последовательно соответствуют моделируемым объектам предметной области. Интерпретация этого требует глубокого знания проблемы, которую вы пытаетесь решить, включая общий контекст. Автоматизированные метрики еще не достаточно сложны, чтобы понять контекст таким образом.
В ответ на комментарий я подумала, что расширю немного:
Главное, на что я надеялся, это то, что ОО - это не «инкапсуляция, наследование и полиморфизм». Это всего лишь инструменты, которые позволяют моделировать проблему как объекты, которые взаимодействуют четко определенными способами. Если вам нужен хороший показатель, вы должны понимать, что вы на самом деле пытаетесь измерить. Звучит так, будто вы пытаетесь проверить понятие качества кода с помощью метрики для подтверждения ощущения. Если это так, то в чем реальная проблема? Вы обеспокоены тем, что код хрупок и может легко сломаться из-за неожиданных побочных эффектов? Является ли объектная модель слишком фрагментированной и трудной для подражания? Являются ли отдельные объекты слишком большими для понимания и поддержания? Если вы сможете лучше определить виды недостатков, которые вы надеетесь выявить, это поможет вам найти соответствующие метрики. Если они полезны, вот один полезный набор метрик .