Limit hierarchy depth

From CSSEMediaWiki
(Difference between revisions)
Jump to: navigation, search
(New page: Riel's Heuristic #5.5: [[Limit hierarchy depth|In practice, inheritance hierarchies should be no deeper than an average person can keep in his or her short-term memory. A popular value for...)
 
m
 
Line 1: Line 1:
Riel's Heuristic #5.5: [[Limit hierarchy depth|In practice, inheritance hierarchies should be no deeper than an average person can keep in his or her short-term memory. A popular value for this depth is six.]]
+
:''In practice, inheritance hierarchies should be no deeper than an average person can keep in their short term memory. A popular value for this depth is six.'' --Riel's Heuristic 5.5, [[Arthur Riel 1996]]
  
 
==Description==
 
==Description==
Riel's Heuristic #5.5 suggests that inheritance hierarchies should be be no deeper than 6 levels. This heuristic is based on empirical studies with real world design problems. It was found that the designers with the most difficulty navigating their class hierarchies were those with hierarchies of 12 to 17 levels in depth. Upon redesigning the hierarchies to use five to seven levels, the task of navigation was purportedly easier.
+
This heuristic suggests that inheritance hierarchies should be be no deeper than 6 levels. This heuristic is based on empirical studies with real world design problems. It was found that the designers with the most difficulty navigating their class hierarchies were those with hierarchies of 12 to 17 levels in depth. Upon redesigning the hierarchies to use five to seven levels, the task of navigation was purportedly easier.
 
==A Proviso==
 
==A Proviso==
There is a proviso on the depth of six, and that is that the designers do not have class hierarchy visualisation tools available. The designers suggested that, with access to tools that aid in class hierarchy visualisation, working with deep hierarchies would become easier: Closer to theory (Riel #5.4).
+
There is a proviso on the depth of six, and that is that the designers do not have class hierarchy visualisation tools available. The designers suggested that, with access to tools that aid in class hierarchy visualisation, working with deep hierarchies would become easier (see [[Favour deep hierarchies]]).
 
==See Also==
 
==See Also==
 
*[[Class hierarchies should be deep and narrow]]
 
*[[Class hierarchies should be deep and narrow]]
*[[Favour deep hierarchies|Riel #5.4 - In theory, inheritance hierarchies should be deep; the deeper, the better]]
+
*[[Favour deep hierarchies]]
*[[Riel's heuristics]]
+
 
*[[Design maxims]]
 
*[[Design maxims]]
 +
 +
[[Category:Riel's heuristics]]

Latest revision as of 00:05, 21 July 2009

In practice, inheritance hierarchies should be no deeper than an average person can keep in their short term memory. A popular value for this depth is six. --Riel's Heuristic 5.5, Arthur Riel 1996

Description

This heuristic suggests that inheritance hierarchies should be be no deeper than 6 levels. This heuristic is based on empirical studies with real world design problems. It was found that the designers with the most difficulty navigating their class hierarchies were those with hierarchies of 12 to 17 levels in depth. Upon redesigning the hierarchies to use five to seven levels, the task of navigation was purportedly easier.

A Proviso

There is a proviso on the depth of six, and that is that the designers do not have class hierarchy visualisation tools available. The designers suggested that, with access to tools that aid in class hierarchy visualisation, working with deep hierarchies would become easier (see Favour deep hierarchies).

See Also

Personal tools