Surface Refactoring

Refactoring, or rather splitting, along surface lines. The question is whether this makes for a good refactoring, however, it can be the start of further refactoring.


Seeing one more of these large WikiPage's, I wondered if one can refactor a page without understanding its content (or wanting to delve deeper into it).

Is it possible to ReFactor an ugly page, that is TooBigToEdit or TooLargeToGrasp by considering only its remaining surface structure?

Scrolling quickly over FreeWill (which was my trigger), I could easily spot regions, that obviously belonged to different threads or sub-discussions.

Will it do to initiate a refactoring by just splitting the page at these 'visual' borders?

Will the participants of that page be inclined to refactor simply to move parts back together, that belonged together and let differing parts split?

How to name the parts split? PartOne/Two/Three? DontMakePartTwo.

This could be a tool for courageous WikiGnomes, to clean those ThreadMess pages without too much work on their side.

I just did it on FreeWill, it took about 15 minutes.

I did it again on EvolutionistsStartInTheMiddle.


I worry that dividing a page without understanding its content will only make it harder to discover the leveraged decomposition that lurks within. I think this is especially true when discussing the experience of programming, which is the topic of primary interest of this site, and one in which many here are expert. I would rather find a way to encourage many small and informed refactorings by these experts. Perhaps we need a new kind of editor? -- WardCunningham

I agree, that splitting large pages without understanding can harm their content. But I doubt, that a technological solution (i.e. editor) will help much here. Many ThreadMess pages are simply stuck, their size discouraging understanding and therefore refactoring. Splitting them along surface lines may of may not help, but will seldom make matters worse. Of course, one should use this tool only if no other means help, e.g. if the page got stagnant a long time ago.


See also RefactorByExtractingToPage.


CategoryWikiMaintenance CategoryWikiRefactoring


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