Refactoring Annotations

Refactoring is an important part of building and maintaining software. Refactoring tools guarantee semantics preserving program transformations, but the user interface to refactoring tools is lacking.

Refactoring Annotations

Refactoring Annotations

     

Refactoring is an important part of building and maintaining software.  Refactoring tools guarantee semantics preserving program transformations, but the user interface to refactoring tools is lacking.  Specifically, we have found that when a refactoring cannot be applied (that is, when a precondition is violated), refactoring tools to a poor job of communicating the problem.  Refactoring Annotations seek to communicate the consequences of a refactoring to a programmer.

Refactoring Annotations are implemented as a plugin for Eclipse.

When you select a piece of code to be extracted, and then press Alt+Shift+N, Refactoring Annotations display information about a specific Extract Method refactoring.  Each variable is assigned a distinct color, and each occurrence is highlighted.  Across the top of the selection, an arrow points to the first use of a variable that will have to be passed as a parameter into the extracted method.  Across the bottom, an arrow points from the last assignment of a variable that will have to be returned.  L-values have black boxes around them, while r-values do not.  An arrow to the left of the selection simply indicates that control flows from beginning to end.

Click on this link to get more detail: http://multiview.cs.pdx.edu/refactoring/refactoring_annotations