Skip to content

refactor: improve median calculator class design and readability #6349

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

alxkm
Copy link
Contributor

@alxkm alxkm commented Jul 6, 2025

Refactored the abstract class MedianOfRunningArray to improve clarity, extensibility, and maintainability.

Changes made:

  • Renamed median()getMedian() for clearer naming convention.
  • Improved JavaDoc comments for class and methods to enhance code documentation and readability.
  • Extracted heap balancing logic into a dedicated private method balanceHeapsIfNeeded() to reduce code duplication.
  • Changed method access modifiers:
    • Made insert() and getMedian() final to prevent override and preserve consistency.
    • Changed heap fields to final.
  • Added detailed exception message and @throws tag when median is requested on an empty data set.
  • General formatting and naming improvements for consistency and readability.
  • I have read CONTRIBUTING.md.
  • This pull request is all my own work -- I have not plagiarized it.
  • All filenames are in PascalCase.
  • All functions and variable names follow Java naming conventions.
  • All new algorithms have a URL in their comments that points to Wikipedia or other similar explanations.
  • All new code is formatted with clang-format -i --style=file path/to/your/file.java

@codecov-commenter
Copy link

codecov-commenter commented Jul 6, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 74.56%. Comparing base (4b6006c) to head (b93cf7b).

Additional details and impacted files
@@            Coverage Diff            @@
##             master    #6349   +/-   ##
=========================================
  Coverage     74.56%   74.56%           
- Complexity     5453     5454    +1     
=========================================
  Files           682      682           
  Lines         19032    19033    +1     
  Branches       3689     3688    -1     
=========================================
+ Hits          14191    14192    +1     
  Misses         4278     4278           
  Partials        563      563           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants