Yo-yo problem

In computer science, the yo-yo problem is that programmers need to scan the inheritance graph to understand the control flow of a program. It often happens in object-oriented programming. The term is derivered from up-down movement of a toy yo-yo.

Most practices of object-oriented programming recommend keeping the inheritance graph as shallow as possible to avoid this problem. Some additionally advise the use of composition instead of inheritance.

See also: Object-oriented programming, Complexity