Tardis:Beware recursion: Difference between revisions

From Tardis Wiki, the free Doctor Who reference
m (Protected "Tardis:Beware recursion": Robot: Protecting all pages from category Policies (‎[edit=sysop] (indefinite) ‎[move=sysop] (indefinite)))
 
(3 intermediate revisions by one other user not shown)
Line 5: Line 5:
== Examples ==
== Examples ==
=== Simple recursion ===
=== Simple recursion ===
The most basic kind of recursion is where you literally put the category inside of itself, as in the case of adding '''[[:category:Time Lords]]''' ''to'' '''[[:category:Time Lords]]'''.
The most basic kind of recursion is where you literally put the category inside of itself, as in the case of adding '''[[:Category:Time Lords]]''' ''to'' '''[[:Category:Time Lords]]'''.
 
Most people don't accidentally do that kind of recursion, however, because it's ''obviously'' pretty silly.


Most people don't accidentally do that kind of recursion, however, because it's ''obviously'' pretty silly.
=== Don't mix two categories that have a lot of the same members ===
=== Don't mix two categories that have a lot of the same members ===
Another type of recursion is where you put big, important categories within other big, important categories, particularly when those categories share a lot of common ground.   
Another type of recursion is where you put big, important categories within other big, important categories, particularly when those categories share a lot of common ground.   


The classic example is '''[[:Category:The Doctor]]'''.  This should ''never'' go in '''[[:Category:Time Lords]]'''.  Instead, put the ''page'' '''[[The Doctor]]''' in '''[[:Category:Time Lords]]''', and put '''[[:Category:The Doctor|The Doctor]]''' at the top of the [[:Category:Time-Space Visualiser|in-universe category branch]].
The classic example is '''[[:Category:The Doctor]]'''.  This should ''never'' go in '''[[:Category:Time Lords]]'''.  Instead, put the ''page'' '''[[The Doctor]]''' in '''[[:Category:Time Lords]]''', and put '''[[:Category:The Doctor]]''' at the top of the [[:Category:Time-Space Visualiser|in-universe category branch]]. That way, '''[[:Category:The Doctor]]''' is still easy to find, but it's not adding a couple of hours to the bot's runtime. 


Otherwise, the bot will spend hours bouncing back and forth between categories under '''[[:Category:Time Lords|Time Lords]]''' and '''[[:Category:The Doctor|The Doctor]]'''.  Why will this happen?  Since the Doctor ''is'' a Time Lord, his category shares any number of pages and subcategories with '''[[:Category:Time Lords|Time Lords]]'''.   
Otherwise, the bot will spend hours bouncing back and forth between categories under '''[[:Category:Time Lords|Time Lords]]''' and '''[[:Category:The Doctor|The Doctor]]'''.  Why will this happen?  Since the Doctor ''is'' a Time Lord, his category shares any number of pages and subcategories with '''[[:Category:Time Lords|Time Lords]]'''.   
Line 18: Line 19:


=== Don't reverse the order of categories ===
=== Don't reverse the order of categories ===
Recursion can also occur if you order categories the wrong way.  '''[[:Category:K9 Mark I images]]''' goes into '''[[:Category:K9 images]]''', not the other way around.  Always build category branches from specific categories to more general ones.
Recursion can also occur if you order categories the wrong way.  '''[[:Category:K9 Mark I images|K9 Mark I images]]''' goes into '''[[:Category:K9 images|K9 images]]''', not the other way around.  Always build category branches from specific categories to more general ones.

Latest revision as of 00:31, 11 May 2017

Nyssa tried to tell us: recursion is where ideas fall back in on themselves. And while that might help you find the TARDIS' index file, it's no way to run the Tardis Data Core.

This wiki is largely maintained by a bot. And while bots are fast, a lean, mean category tree will make them run even faster. If you nest categories within themselves, you create a recursive loop that traps the bot in an endless cycle. So don't do it.

Examples

Simple recursion

The most basic kind of recursion is where you literally put the category inside of itself, as in the case of adding Category:Time Lords to Category:Time Lords.

Most people don't accidentally do that kind of recursion, however, because it's obviously pretty silly.

Don't mix two categories that have a lot of the same members

Another type of recursion is where you put big, important categories within other big, important categories, particularly when those categories share a lot of common ground.

The classic example is Category:The Doctor. This should never go in Category:Time Lords. Instead, put the page The Doctor in Category:Time Lords, and put Category:The Doctor at the top of the in-universe category branch. That way, Category:The Doctor is still easy to find, but it's not adding a couple of hours to the bot's runtime.

Otherwise, the bot will spend hours bouncing back and forth between categories under Time Lords and The Doctor. Why will this happen? Since the Doctor is a Time Lord, his category shares any number of pages and subcategories with Time Lords.

Now, this isn't to say that all categories about individual Time Lords should stay out of Time Lords. Category:Romana is fine to go under Time Lords because it's a very small category, and, importantly, it doesn't contain anything that's repetitive of what's already in Time Lords.

Don't reverse the order of categories

Recursion can also occur if you order categories the wrong way. K9 Mark I images goes into K9 images, not the other way around. Always build category branches from specific categories to more general ones.