Skip to content

bug: Refactoring redundant SDG score rounding in `aurora_api.py' #41

@Tech-Psycho95

Description

@Tech-Psycho95

Issue Description:

In aurora_api.py, around line 75, the SDG score is rounded using a verbose and inefficient method: score = float(f"{float(score):.3f}. This should be refactored to use Python's built-in round(score, 3) function for better readability, efficiency, and maintainability.

Reasoning for Change:

The current implementation is:

Less Readable: It's not immediately clear that the purpose of the line is to round the number. It involves unnecessary type casting and string formatting.
Inefficient: Converting a float to a string and then back to a float is computationally more expensive than using the direct round() function.
Harder to Maintain: The code is more complex than it needs to be, which can lead to confusion for future developers

Proposed Solution -

  • Replaced the line:
    sdg_predictions[sdg_name] = float(f"{float(score):.3f}")
    with:
    sdg_predictions[sdg_name] = round(score, 3)

Benefits:

  • Improved Readability: Readability: The new code is concise and immediately clear in its intent to round the score to three decimal places, eliminating unnecessary string formatting and type conversions
  • Increased Efficiency: Efficiency: The built-in round() function is optimized and faster than converting a float to a string and back, reducing computational overhead
  • Enhanced Maintainability: Maintainability: Using standard Python library functions makes the code simpler, more idiomatic, and easier for other developers to understand and maintain

Files Modified:

  • aurora_api.py

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions