tensorflow/models

View on GitHub
research/efficient-hrl/cond_fn.py

Summary

Maintainability
C
1 day
Test Coverage

Function failed_reset_after_n_episodes has 10 arguments (exceeds 4 allowed). Consider refactoring.
Open

def failed_reset_after_n_episodes(agent,
Severity: Major
Found in research/efficient-hrl/cond_fn.py - About 1 hr to fix

    Function every_n_episodes has 8 arguments (exceeds 4 allowed). Consider refactoring.
    Open

    def every_n_episodes(agent,
    Severity: Major
    Found in research/efficient-hrl/cond_fn.py - About 1 hr to fix

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

      def q_too_small(agent,
      Severity: Major
      Found in research/efficient-hrl/cond_fn.py - About 50 mins to fix

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

        def every_n_steps(agent,
        Severity: Major
        Found in research/efficient-hrl/cond_fn.py - About 50 mins to fix

          Function env_transition has 6 arguments (exceeds 4 allowed). Consider refactoring.
          Open

          def env_transition(agent, state, action, transition_type, environment_steps,
          Severity: Minor
          Found in research/efficient-hrl/cond_fn.py - About 45 mins to fix

            Function false_fn has 6 arguments (exceeds 4 allowed). Consider refactoring.
            Open

            def false_fn(agent, state, action, transition_type, environment_steps,
            Severity: Minor
            Found in research/efficient-hrl/cond_fn.py - About 45 mins to fix

              Function env_restart has 6 arguments (exceeds 4 allowed). Consider refactoring.
              Open

              def env_restart(agent, state, action, transition_type, environment_steps,
              Severity: Minor
              Found in research/efficient-hrl/cond_fn.py - About 45 mins to fix

                Function true_fn has 6 arguments (exceeds 4 allowed). Consider refactoring.
                Open

                def true_fn(agent, state, action, transition_type, environment_steps,
                Severity: Minor
                Found in research/efficient-hrl/cond_fn.py - About 45 mins to fix

                  Similar blocks of code found in 2 locations. Consider refactoring.
                  Open

                  @gin.configurable
                  def false_fn(agent, state, action, transition_type, environment_steps,
                               num_episodes):
                    """Returns an op that evaluates to false.
                  
                  
                  Severity: Major
                  Found in research/efficient-hrl/cond_fn.py and 1 other location - About 1 hr to fix
                  research/efficient-hrl/cond_fn.py on lines 207..224

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 46.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 2 locations. Consider refactoring.
                  Open

                  @gin.configurable
                  def true_fn(agent, state, action, transition_type, environment_steps,
                              num_episodes):
                    """Returns an op that evaluates to true.
                  
                  
                  Severity: Major
                  Found in research/efficient-hrl/cond_fn.py and 1 other location - About 1 hr to fix
                  research/efficient-hrl/cond_fn.py on lines 227..244

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 46.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 2 locations. Consider refactoring.
                  Open

                  @gin.configurable
                  def env_transition(agent, state, action, transition_type, environment_steps,
                                     num_episodes):
                    """True if the transition_type is TRANSITION or FINAL_TRANSITION.
                  
                  
                  Severity: Major
                  Found in research/efficient-hrl/cond_fn.py and 1 other location - About 1 hr to fix
                  research/efficient-hrl/cond_fn.py on lines 44..62

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 39.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 2 locations. Consider refactoring.
                  Open

                  @gin.configurable
                  def env_restart(agent, state, action, transition_type, environment_steps,
                                  num_episodes):
                    """True if the transition_type is RESTARTING.
                  
                  
                  Severity: Major
                  Found in research/efficient-hrl/cond_fn.py and 1 other location - About 1 hr to fix
                  research/efficient-hrl/cond_fn.py on lines 23..41

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 39.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  There are no issues that match your filters.

                  Category
                  Status