Йо-йо проблема - Yo-yo problem

В разработка программного обеспечения, то йо-йо проблема является антипаттерн это происходит, когда программист должен прочитать и понять программу, граф наследования настолько длинный и сложный, что программисту приходится постоянно переключаться между множеством различных определений классов, чтобы следовать потоку управления программой. Часто бывает в объектно-ориентированного программирования. Этот термин происходит от сравнения подпрыгивающего внимания программиста с движением игрушки вверх-вниз. Йоу йоу. Тэнзер, Ганти и Подар описали проблему по имени, объяснив: «Часто мы чувствуем себя верхом на йойо, когда пытаемся понять одно из этих деревьев сообщений».[1]

В большинстве практик объектно-ориентированного программирования рекомендуется, чтобы граф наследования был как можно более мелким, отчасти чтобы избежать этой проблемы. Использование сочинение вместо того наследование также настоятельно рекомендуется, хотя это по-прежнему требует от программиста одновременного учета нескольких определений классов.

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

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

Смотрите также

Рекомендации

  1. ^ Тэнзер, Дэвид; Ганти, Мурти; Подар, Сунил (1989). «Проблемы при повторном использовании объектно-ориентированного программного обеспечения» (PDF). ECOOP 89: Материалы третьей европейской конференции по объектно-ориентированному программированию, 1989 г.. Издательство Кембриджского университета. стр. 33–34. Получено 22 марта 2013.