RAID: Refactoring-aware and Intelligent Diffs
Adds refactoring annotations to GitHub diff
What is RAID: Refactoring-aware and Intelligent Diffs?
RAID: Refactoring-aware and Intelligent Diffs is a Chrome extension developed by Rodrigo Brito, and its main feature is "Adds refactoring annotations to GitHub diff".
Extension Screenshots
Download RAID: Refactoring-aware and Intelligent Diffs Extension CRX File
Download RAID: Refactoring-aware and Intelligent Diffs extension files in crx format, manually install Chrome extensions in the browser, or share the crx files with friends to easily install Chrome extensions.
Extension Usage Instructions
Code review is a key practice in modern software development. Currently, this practice is performed using textual diff tools, such as the one provided by GitHub. However, diff results can easily become complex and hard to understand. Refactorings, for example, are not represented at all in diff results. This increases diff understanding because reviewers need to infer themselves that a given group of added and removed lines of code represent, for example, an extract method. RAID is a tool pipeline that seamlessly enriches GitHub diff results with refactoring information. This pipeline has three key components: - RefDiff: a tool to detect refactoring operations in commits. In our architecture, we rely on GitHub actions to automatically execute RefDiff after each Pull Request. - An external server, that collects the list of refactorings produced by RefDiff. - A Chrome plug-in that seamlessly annotates diff chunks associated to refactorings. As we described, the goal is to easily communicate to developers the reason behind the added/removed lines of code. Source Code: https://github.com/rodrigo-brito/refactoring-aware-diff INSTALLATION - Install Refactoring-Aware Review Chrome Extension - Include Refactoring-Aware Diff Action in GitHub CI (Available in Github description) - Submit a new Pull Request to test the extension An example of Pull Request with extracted refactorings can be viewed here: https://github.com/rodrigo-brito/refactoring-aware-diff/pull/5/commits BUG REPORTS: https://github.com/rodrigo-brito/refactoring-aware-diff/issues
Extension Basic Information
Name | RAID: Refactoring-aware and Intelligent Diffs |
ID | bclbegekihgpelanbbleaceefgmekjdd |
Official URL | https://chromewebstore.google.com/detail/raid-refactoring-aware-an/bclbegekihgpelanbbleaceefgmekjdd |
Description | Adds refactoring annotations to GitHub diff |
File Size | 320 KB |
Installation Count | 24 |
Current Version | 0.0.26 |
Last Updated | 2021-01-03 |
Publish Date | 2020-07-04 |
Developer | Rodrigo Brito |
[email protected] | |
Payment Type | free |
Extension Website | https://github.com/rodrigo-brito/refactoring-aware-review |
Supported Languages | en |
manifest.json | |
{ "update_url": "https:\/\/clients2.google.com\/service\/update2\/crx", "name": "RAID: Refactoring-aware and Intelligent Diffs", "version": "0.0.26", "manifest_version": 2, "description": "Adds refactoring annotations to GitHub diff", "homepage_url": "https:\/\/github.com\/rodrigo-brito\/refactoring-aware-diff", "icons": { "16": "icons\/icon16.png", "48": "icons\/icon48.png", "128": "icons\/icon128.png" }, "browser_action": { "default_icon": "icons\/icon128.png", "default_title": "RAID: Refactoring-aware and Intelligent Diffs", "default_popup": "html\/browser_action.html" }, "options_page": "html\/options.html", "background": { "scripts": [ "js\/build\/background.js" ], "persistent": false }, "content_scripts": [ { "run_at": "document_end", "matches": [ "https:\/\/github.com\/*" ], "css": [ "css\/inject.css", "css\/diff2html.min.css", "css\/prism.css" ], "js": [ "js\/build\/content-script.js" ] } ], "permissions": [ "tabs", "storage", "activeTab", "https:\/\/github.com\/*", "https:\/\/api.github.com\/*", "https:\/\/refdiff.brito.com.br\/*" ], "content_security_policy": "script-src 'self' https:\/\/apis.google.com https:\/\/www.gstatic.com https:\/\/*.firebaseio.com https:\/\/*.firebaseapp.com https:\/\/*.googleapis.com https:\/\/www.google-analytics.com; object-src 'self'" } |