Skip to content

V4.2 - Adding detection of Refactoring from RefactoringMiner in PyDriller/metrics_changes.py

Compare
Choose a tag to compare
@BrenoFariasdaSilva BrenoFariasdaSilva released this 05 Oct 11:14
· 1014 commits to main since this release

Release 4.2 - Adding Detection of Refactoring from RefactoringMiner in PyDriller/metrics_changes.py

Summary of Changes

Release 4.2 introduces significant improvements to the PyDriller tool by adding detection capabilities for refactoring changes using data from RefactoringMiner. This release focuses on enhancing the CSV file output related to substantial changes and improving overall functionality.

Key Updates

  • Refactoring Enhancements:

    • Implemented logic to generate refactoring information specifically for the after state of substantial decreases, allowing for more accurate tracking of code changes.
    • Improved the format and structure of the substantial changes CSV file, including modifications to the header and string formats for better readability.
  • Repository Management:

    • Integrated the setup_repository function to streamline the process of cloning or updating the zookeeper repository for generating refactoring files.
  • CSV Output Improvements:

    • Updated the order of CSV fields generated by the metrics changes Python code to ensure a logical flow of information.
    • Enhanced the refactoring types dictionary to count occurrences and avoid duplication of refactoring types for the same file path.
  • Cross-Platform Compatibility:

    • Improved the handling of file paths across different operating systems (Linux, Mac, and Windows) to ensure consistent functionality.
  • Documentation Updates:

    • Updated the documentation for generated outputs and the PyDriller metrics changes workflow to reflect the latest changes and improve user understanding.

Conclusion

With these enhancements, release 4.2 provides a more robust and informative experience for users analyzing code metrics in PyDriller, particularly focusing on the detection and reporting of refactoring changes.

Full Changelog: v4.1...v4.2