Refactor Towards The Center Of The Page

When a Wiki page gets too unwieldy, people don't read the whole thing. But they'll still add comments without having read all of it, resulting in lots of comments scattered all over the place. It's quite common to find redundant comments, questions far away from answers, things that should be grouped by subtopic that can't naturally find one another for all the distance.

When people add to a page like this, they almost always add to the top, or to the bottom. You can even think of the organization of a degenerated page like the rings of a tree: Usually the middle is the older material, back when the page was manageable and people were putting their comments where they were most appropriate. The stuff at the top and the bottom is the most recent stuff, and since it was added to a page in a state of degeneration, that stuff is most likely to be disorganized, too.

(Not that actual trees get uglier as they get older. The analogy only goes so far, obviously.)

Therefore,

If you take it upon yourself to refactor such a page, start at the top and the bottom and RefactorTowardsTheCenterOfThePage. For example, you could take notes in a text editor, summarizing chunks of text and clumping together similarities that you discover this way. When you have enough groupings to add, you can make your edit.

This is a specific case of RefactorLowHangingFruit, based on the fact that the easiest problems to fix will probably be at the ends.


I've been slowly using this technique on the pages in my big long refactoring list, and I think it's making the job a lot easier. One thing I'm noting, though; if I do a small refactoring in one pass, then come back later to do it again, I have to schlep through all the stuff I couldn't group last time.

So I've been experimenting with this: After I've done a little grouping, I take all the bits and jam them into the middle. The next time, the stuff at the top and the bottom will be new to me, so I won't waste time looking through stuff I looked through a few days. Of course, you only do this on the assumption that the page is so disorganized that it can't find a sensible order without serious refactoring anyway.

I'm being careful with this, though. Moving text around like this is fairly confusing, and if you do any changes that someone's likely to find controversial, it's probably safest not to do this. Otherwise, they might not notice until it's too late to easily bring that text back. - francis

The only downside when someone else does this is that I find myself spending a lot of time looking for new or moved content on the pages. If you were to put a DeleteMe comment in the page after you refactor it stating that nothing was added or removed, or stuff was moved to Page X, it would help me (and probably others) a lot. --GeorgePaci

So these days I've been putting refactoring notes in, taking care to note if I ever add, delete, or synthesize anything. (Many times I'm simply regrouping, or extracting, or moving.) Hopefully this is clearer now. I wonder if the presence of refactoring note tends to inhibit people adding to the discussion. I rather like the notion of refactoring a page as it remains (somewhat) active. Not sure why, though. - francis

The RefactoringNotes are much appreciated.


CategoryWikiMaintenance CategoryWikiRefactoring


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