Yo-yo problem
|
In computer science, the yo-yo problem occurs when a programmer has to read and understand a program whose inheritance graph is so long and complicated that the programmer has to keep flipping between many different class definitions in order to follow the control flow of the program. It often happens in object-oriented programming. The term comes from comparing the bouncing attention of the programmer to the 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 also advise the use of composition instead of inheritance, although this still requires that a programmer keep multiple class definitions in mind at once.
See also: Object-oriented programming, Complexity, Anti-pattern