Help:FAQ/Questions about contributions/How can I learn how to refactor if you don't allow me to refactor?

How can I learn how to refactor if you don't allow me to refactor?

 * As a new contributor looking for something to work on, it can be discouraging to see that the majority of undergraduate mathematics has already been conquered. As a result, it is tempting to plunge into the considerable task of tidying up what already exists.


 * One of these tasks is "refactoring". This is a blanket term which encompasses the ongoing task to split existing pages with many subsections into a series of smaller pages which are then transcluded into the main page from which the subpages are extracted.


 * While on the surface this looks like a straightforward task, there is more to it than just extracting a section, putting it into a new page and then transcluding that subpage in. For example:
 * The new page needs to be standalone. Thus, if a page with "Proof 1" and "Proof 2" is being refactored, it is not sufficient just to extract those two proofs – you also need to extract the statement of the theorem itself and place it at the top of the page. The proof itself is then braced within "onlyinclude" tags so as to ensure that only the proof is transcluded into the master page.
 * At the bottom of many pages are citations of source references. (See above.) These need to be attended to. While it is easy to extract the sections and blindly copy these link sections into the new page, this compromises the linear flow of those works.


 * Because of this, it is considered that refactoring is a task best left to experienced editors. By "experienced", we specifically mean "experienced in ". While it is appreciated that many contributors come to from other wiki sites (often Wikipedia), the philosophy of  differs from that site significantly. To put it bluntly: anyone can post up mathematics on a website – it's easy. The more challenging aspects are to achieve a consistent style and to ensure a high level of rigor in the context of cross-linking.


 * The recommended technique for learning how is structured is to spend some time and effort in exploring it, to see how pages are structured and to get a feel for how code is styled, in particular with reference to the house style. One will also take note of what amendments have been made to pages one has built oneself (with particular reference to the maintenance tags which may have also been added to such pages).


 * It should be accepted that in the early days of your involvement, you may find a multitude of amendments made to pages you have added. This is understandable, and will result in you adjusting your style so as to match the house standard. As contributors are by definition mathematicians, or at least mathematically literate and motivated, it is taken for granted that they have the ability to learn well, and to teach themselves by example.


 * If it is apparent that a particular user has not yet taken the time either to learn the house style or to philosophically accept it, then that user is respectfully requested not to embark on refactoring tasks. --prime mover (talk) 10:11, 7 July 2013 (UTC)