Skip to content

V6.1 - FEAT: Adding the Code Churn metric and improving its computation by up to 50x in PyDriller/repositories_picker.py

Compare
Choose a tag to compare
@BrenoFariasdaSilva BrenoFariasdaSilva released this 07 Oct 22:27
· 575 commits to main since this release

Release 6.1 - FEAT: Adding the Code Churn metric and improving its computation by up to 50x in PyDriller/repositories_picker.py

New Features

  • Code Churn Metric: Introduced a new metric to measure code churn, providing deeper insights into code stability and changes over time.
  • Repositories Picker: Added a new Makefile rule for selecting repositories to analyze code metrics.
  • Code Metrics Analyzer: Enhanced Makefile rule to analyze metrics against repository attributes.
  • Metrics Changes Analyzer: New Makefile rule for tracking changes in metrics across repositories.
  • Full Path Handling: Implemented full path management for repositories' PDF and JSON files.
  • Thread Support: Improved repository setup and filtering functions with multi-threading for better performance.

Improvements

  • Performance Boost: Enhanced computation for the Code Churn metric by up to 50 times, increasing the efficiency of metric extraction and analysis.
  • Output Enhancements: Updated output formatting for better readability and clarity in various scripts.
  • Repository Attributes Updates: Refined methods for updating and handling repository attributes, ensuring accuracy and consistency.

Refactorings

  • Cleaned up code by removing redundant function calls and optimizing output handling.
  • Standardized naming conventions and organization of constants and functions across scripts.
  • Enhanced documentation throughout the codebase, improving maintainability and understanding of functionality.

Fixes

  • Resolved issues related to file path conversions and key name discrepancies in metric tracking.
  • Corrected verbose output positioning and ensured accurate path constants for repositories.

Documentation

  • Updated comments and docstrings to reflect recent changes and improve clarity for future development.

Full Changelog: v6.0...v6.1