Refactoring-Aware-Commit-Review is a useful tool that visualizes refactoring information directly on GitHub.
This extension integrates refactoring information into GitHub repositories commits written in Java.
The extension was created to provide more advanced visualization of the refactoring changes and to make the inspection of source code changes easier for developers to improve their productivity.
USER GUIDE:
• open a GitHub commit webpage on Chrome browser (ex: github.com/user/project/commit/id or github.com/user/project/pull/id/commits/id)
(first-time use only: right-click on the extension icon on the top right of the browser, select "options", then set the waiting-time you want).
• got to the commit page and click on the extension icon. You should see a loading spinning circle.
• upon getting the result, you will see a button at the bottom of the page, indicating whether or not there's any refactoring been made to the commit.
IF YES, then these are some hints:
• hover the mouse over the "Refactoring" button; you will see all Refactoring types that are applied in the commit, with an accessible link that takes you to the exact location of the corresponding Refactoring method in the code.
• on the left side of the page, you will see a navigation bar with colored bubbles; each colored bubble indicates the existence of its type (i.e. its meaning; you can see what each bubble means by hovering over it).
• for "same code" methods (those in blue), you can see where they are exactly extracted to/from by: either clicking on the code itself in the commit, or clicking the link inside the Refactoring links at the bottom. A corresponding arrow will appear and direct you to the exact location of the extracted method.
• every colored method has a toolbar that appears on top of it just upon hovering over the code, indicating the type of the method. Moreover, Yellow code is an indication for a method call, so its toolbar is an accessible link that will take you (when it's pressed) to the Refactoring method it's calling.
Acknowledgments and Credits:
The integrated refactoring information used are obtained from:
RefactoringMiner (https://github.com/tsantalis/RefactoringMiner).
The extension was a project funded by The Natural Sciences and Engineering Research Council of Canada (NSERC) and the Department of Computer Science and Software Engineering of Concordia University.
Questions/Recommendations:
Please send us an email at:
[email protected]