RefactoringOperationDiscussion

Last edit November 26, 2014
Here is a page to discuss what is a code ReFactoring operation and what is ReWorking instead. It is hoped that this will eventually be a fairly complete list of refactoring operations.

As a start:

Simple refactoring operations:
  • change the name of a variable
  • change the name of a class or structure definition
  • change the name of a method or function
  • change the type of a variable or class member
  • change the name of a parameter in a function/method definition
  • change a literal into a variable (or do the reverse).
  • increase type strength of a variable or member (or do the reverse).

More involved refactoring operations:
  • convert an inner class to a top-level class definition
  • convert the users of class into using a class that inherits the first class.
  • change to using a different CollectionStructure.
  • take an inline chunk of code and turn it into a method or function (or do the reverse, take a method or function and pull its contents in line).
  • convert a group of simple hashes/dictionaries with the same keys into a single hash/dictionary with a new class containing members from the old collection structures (or do the reverse, convert a dictionary/hash/list of objects into one collection structure for each member in the object's class, and stop using the class).
  • convert a StaticClass into a DynamicClass (or do the reverse, convert a dynamic class into a static class).
  • convert a class member into an instance member (or do the reverse, convert an instance member into a class member).
  • change an interface into an abstract class (or do the reverse).
  • change a for loop into a recursive procedure (or do the reverse).

Database centric refactoring operations: DataOriented -> InformationOriented refactoring sequences:
CategoryRefactoring