vesperin / vesper

source code curation library for Java 1.6 and above
1 stars 0 forks source link

Design `Clip members from a class` functionality #13

Closed hsanchez closed 10 years ago

hsanchez commented 10 years ago

Clipping feature is important functionality. Why? Simply because it will allow code foragers to

  1. Determine the root code sections that perform some needed task: The root code is the minimum set of code that performs the task you are trying to accomplish. This may be in one or several different locations in the sample.
  2. Find the incision points: Incision points are the areas of code in the sample where you can “cut” that still enables the root code sections to work. This includes initialization functions, non-local variables, method declarations, static nested classes, inner classes, etc.
  3. Similar to Slice Refactoring, but instead of having the method as the scope, we have the whole class. For example, if I select a method, then vesper will give you all the methods that are clients or servers of the selected method.
  4. I will call this refactoring the Clip refactoring.
hsanchez commented 10 years ago

See PR #29 for details and implementation