JohannesHeidecke/irl-benchmark

View on GitHub
irl_benchmark/experiment/run.py

Summary

Maintainability
A
50 mins
Test Coverage

Function __init__ has 7 arguments (exceeds 4 allowed). Consider refactoring.
Open

    def __init__(self, env_id: str, expert_trajs_path: str,
Severity: Major
Found in irl_benchmark/experiment/run.py - About 50 mins to fix

    Method "__init__" has 8 parameters, which is greater than the 7 authorized.
    Open

        def __init__(self, env_id: str, expert_trajs_path: str,
                     irl_alg_factory: Callable[[gym.Env, List[Dict[str, list]]],
                                               BaseIRLAlgorithm],
                     metrics: List[BaseMetric], rl_config: dict, irl_config: dict,
                     run_config: dict):

    A long parameter list can indicate that a new structure should be created to wrap the numerous parameters or that the function is doing too many things.

    Noncompliant Code Example

    With a maximum number of 4 parameters:

    def do_something(param1, param2, param3, param4, param5):
        ...
    

    Compliant Solution

    def do_something(param1, param2, param3, param4):
        ...
    

    There are no issues that match your filters.

    Category
    Status