gecos-team/gecoscc-ui

View on GitHub
gecoscc/lazy.py

Summary

Maintainability
D
1 day
Test Coverage

Function lazy has a Cognitive Complexity of 52 (exceeds 5 allowed). Consider refactoring.
Open

def lazy(func, *resultclasses):
    """
    Turns any callable into a lazy evaluated callable. You need to give result
    classes or types -- at least one is needed so that the automatic forcing of
    the lazy evaluation code is triggered. Results are not memoized; the
Severity: Minor
Found in gecoscc/lazy.py - About 1 day to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

File lazy.py has 317 lines of code (exceeds 250 allowed). Consider refactoring.
Open

#
# Copyright 2013, Junta de Andalucia
# http://www.juntadeandalucia.es/
#
# Authors:
Severity: Minor
Found in gecoscc/lazy.py - About 3 hrs to fix

    Function total_ordering has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
    Open

        def total_ordering(cls):
            """Class decorator that fills in missing ordering methods"""
            convert = {
                '__lt__': [('__gt__', lambda self, other: not (self < other or 
                                                               self == other)),
    Severity: Minor
    Found in gecoscc/lazy.py - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Consider simplifying this complex logical expression.
    Open

    if sys.version_info >= (2, 7, 2):
        from functools import total_ordering
    else:
        # For Python < 2.7.2. total_ordering in versions prior to 2.7.2 is buggy.
        # See http://bugs.python.org/issue10042 for details. For these versions use
    Severity: Critical
    Found in gecoscc/lazy.py - About 1 hr to fix

      Function allow_lazy has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
      Open

      def allow_lazy(func, *resultclasses):
          """
          A decorator that allows a function to be called with one or more lazy
          arguments. If none of the args are lazy, the function is evaluated
          immediately, otherwise a __proxy__ is returned that will evaluate the
      Severity: Minor
      Found in gecoscc/lazy.py - About 25 mins to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      There are no issues that match your filters.

      Category
      Status