Refactoring

FOWLER, Martin, 2019. Refactoring: improving the design of existing code. Second edition. Boston: Addison-Wesley. Addison-Wesley signature series. ISBN 978-0-13-475759-9.

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 Extreme Programming Re Factoring of code, this may be in preparation for more features being added, but

We continue to suffer under one poor choice I made early in the project: drag refactoring. This was a design goal. I had hoped that a carelessly organized set of pages could be drag and drop refactored into a better design.

If we think of Drag Refactoring as a Commit, then the target page might indicate that this structure already exists and the commit could be reverted. Target page could show the occurrence of identical subpatterns.

An unattractively complex diagram led me to refactor a page central to Thompson's writing. I hope by recounting the episode I might encourage the development of this workflow.

<i>"Refactoring is the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure."</i> -- Martin Fowler in Refactoring Improving The Design Of Existing Code.