1.9.0 - Code Coverage Integration & Architecture Improvements
What's Changed
✨ New Features
- Code Coverage Support for CognitiveMetrics Command by @floriankraemer in #57
- Added comprehensive code coverage integration to the cognitive metrics analysis
- Support for both Clover XML and Cobertura XML coverage formats
- Enhanced metrics display with coverage information
- New command-line options:
--coverage-coberturaand--coverage-clover - Improved risk assessment by factoring in test coverage data
🏗️ Architecture Improvements
-
Refactoring Cyclomatic Complexity Calculation by @floriankraemer in #64
- Extracted cyclomatic complexity logic into dedicated
CyclomaticComplexityCalculatorclass - Improved separation of concerns and code maintainability
- Enhanced testability with dedicated calculator interface
- Better encapsulation of complexity calculation algorithms
- Extracted cyclomatic complexity logic into dedicated
-
Extracting Halstead Calculations from the Visitor by @floriankraemer in #63
- Created dedicated
HalsteadMetricsCalculatorclass for cleaner architecture - Separated calculation logic from AST visitor pattern
- Improved code organization and reusability
- Enhanced test coverage for Halstead metrics calculations
- Created dedicated
🔧 Code Quality & Standards
- Adding PHPCS Slevomat Coding Standard Rules by @floriankraemer in #62
- Integrated Slevomat Coding Standard for enhanced code quality
- Added comprehensive PHPCS rules including:
- Unused imports detection
- Useless variable detection
- Early exit enforcement
- Yoda comparison disallowance
- Useless documentation detection
- Improved code consistency across the project
📚 Documentation & Community
- Github contribution and issue configuration by @floriankraemer in #59
- Added comprehensive
CONTRIBUTING.mdwith detailed contribution guidelines - Created structured issue templates for better bug reporting
- Enhanced project documentation and community guidelines
- Improved developer onboarding experience
- Added comprehensive
Changes
- Add code coverage support to CognitiveMetrics command by @floriankraemer in #57
- Refactoring Cyclomatic Complexity Calculation by @floriankraemer in #64
- Extracting Halstead Calculations from the Visitor by @floriankraemer in #63
- Adding PHPCS Slevomat Coding Standard Rules by @floriankraemer in #62
- Github contribution and issue configuration by @floriankraemer in #59
- Moving the Github issue template by @floriankraemer
- Renaming the issue template file by @floriankraemer
Full Changelog: 1.8.0...1.9.0