David Gerard wrote:
2009/1/13 Tim Starling tstarling@wikimedia.org:
The template equivalent to refactoring is the introduction of meta-templates, such as {{infobox}}.
Nothing wrong with that; C++ has abstract classes which aren't intended to be instantiated directly, but form useful models for hiding commonality among derived classes within a common framework.
The other useful thing that can be done with templates is to standardise the field names in them as much as possible per wiki.
Which makes their derivations all the more familiar as editors use a wider range of templates.
The reason? To enhance machine readability of data in them. People are SERIOUSLY INTERESTED in this.
The user interface for templates is not entirely horrible - {{templatename|field1=value|field2=value}} etc. As long as that stays reasonably assumable, the plumbing behind it can be as esoteric as is needed - no-one really cares as long as it works reliably.
And at the page-edit level, can be more easily parsed by relatively simple tools.