simonkowallik/as3ninja

View on GitHub

Showing 5 of 25 total issues

Function _include_constructor has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
Open

    def _include_constructor(cls, _, node) -> Union[List, Dict]:
        """
        The PyYAML constructor for the INCLUDE_TAG (!include).
        This method should not be called directly, it is passed to PyYAML as a constructor function.

Severity: Minor
Found in as3ninja/utils.py - About 55 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

Function _import_includes has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
Confirmed

    def _import_includes(self, defferred: bool = False):
        """Iterates the list of Template Configurations and imports all includes in order.

        :param defferred: Include defferred includes instead of user specified as3ninja.include
        """
Severity: Minor
Found in as3ninja/templateconfiguration.py - About 55 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

Function __init__ has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
Open

    def __init__(
        self,
        template_configuration: Optional[
            Union[List[Union[dict, str]], dict, str]
        ] = None,
Severity: Minor
Found in as3ninja/templateconfiguration.py - About 35 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

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

def validate(
    declaration: str,
    version: Optional[str],
):
    """Validate an AS3 Declaration against the AS3 JSON Schema.
Severity: Minor
Found in as3ninja/cli.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

Function "git_transform" has 9 parameters, which is greater than the 7 authorized.
Open

    declaration_template: Optional[str],
    configuration_file: Optional[List],
    output_file: Union[str, None],
    validate: bool,  # pylint: disable=W0621 # Redefining name 'validate' from outer scope
    pretty: bool,
Severity: Major
Found in as3ninja/cli.py by sonar-python

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):
    ...
Severity
Category
Status
Source
Language