Wiki Refactoring

Sometimes Wiki pages get rearranged or reorganized. Sometimes we call this refactoring. Sometimes the information content of the Wiki is not being changed, it is just being reorganized, i.e. the design or architecture of the Wiki is being improved. Like ExtremeProgramming ReFactoring of code, this may be in preparation for more features being added, but

WikiRefactoring is not XP refactoring

In XP, there are simple tests to ensure that refactoring did not change the intent ("functionality") of the code. But there's nothing like this in Wiki. There is no simple test to ensure that your changes to a page preserve the original meaning. We're only talking approaching isomorphic as RavioliWiki puts it, or a good laugh as I'd be more likely to say.

And not all WikiRefactoring is even refactoring

Changes that don't more or less preserve meaning probably shouldn't be called "refactoring". Consider the transformation of turning a page of ThreadMode into something more polished; you just can't do that without changing the meaning, even if you preserve all the arguments. It has been argued that the original analogy with refactoring of program code in XP means that no "rewriting" should be included under this heading.

Plus WikiRefactoring is hard

Not the least because there are no UnitTests, but also because BigRefactoringsAreHard. So RefactorLowHangingFruit using the RefactoringWikiPages PatternLanguage .

Nevertheless, WikiRefactoring is useful

The test for Wiki refactoring is whether you end up happy in the end. Sociopaths will be happy that this test lets them do whatever they want, but no test can deter them from doing whatever they want anyhow. For the rest of us, the combination of liking an edit and being satisfied with the community's response to it is as good a test as you're going to get. Unlike the binary assertion of a unit test, the human test is full of gradations and mixed emotions. That's how it is when dealing with social groups.

WikiRefactoringStories is great, bringing some of our Wiki wisdom up to date and extending the analogy (through reference to stories) in a very useful way.


See:

Contributors: DavidHooker, GarethMcCaughan, RichardDrake, NickBarratt


CategoryWikiMaintenance CategoryWikiRefactoring


EditText of this page (last edited August 3, 2005) or FindPage with title or text search