ООП часто рассматривается как эффективная стратегия управления сложностью в программном обеспечении, в отличие от процедурного программирования без ООП.
Были ли какие-либо исследования, проверяющие это понятие? Доказано ли, что ООП часто помогает управлять сложностью в больших проектах?
object-oriented
case-studies
Авив Кон
источник
источник
Ответы:
Я не знаю ни одного исследования с количественными измерениями. Как уже упоминалось в комментариях к вашему вопросу, добиться этого практически невозможно. Однако есть несколько философских работ, которые пытаются ответить на это.
Моя любимая статья на эту тему - «Бен из Мозли и Питер Маркс» . Это объясняется различными утверждениями из авторитетных источников о сложном проектировании системы и довольно интересными результатами.
Из Tar Pit приходит к выводу, что функциональное программирование на самом деле является лучшей парадигмой для поддержки решений, которые они предлагают. Это имеет смысл, потому что, по моему опыту, сложные системы ООП со временем становятся очень близкими к процедурным и процедурные начинают выглядеть как ООП (у них нет синтаксиса и других атрибутов, но поток выполнения может стать очень похожим). Реальная разница заключается в другой парадигме или в сочетании с ООП. На данный момент такой парадигмой является функциональное программирование, которое, наконец, становится доступным в обычных бизнес-приложениях обычными программистами (все еще находящимися там).
источник
Да, были некоторые исследования. Вот один из них: http://www.csm.ornl.gov/~v8q/Homepage/Papers%20Old/spetep-%20printable.pdf
По сути, он приходит к выводу, что между измерением производительности процедурного кода и производительностью языка OO нет ощутимой разницы ... но правда в том, что эти типы вопросов настолько контекстно-зависимы, что ни одно исследование не скажет вам, что вы должны делать в данной ситуации. ,
источник