OpenJij/OpenJij

View on GitHub
openjij/model/chimera_model.py

Summary

Maintainability
D
2 days
Test Coverage
F
7%

Function make_ChimeraModel has a Cognitive Complexity of 86 (exceeds 5 allowed). Consider refactoring.
Open

def make_ChimeraModel(linear, quadratic):
    """ChimeraModel factory.

    Returns:
        generated ChimeraModel class
Severity: Minor
Found in openjij/model/chimera_model.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 chimera_model.py has 285 lines of code (exceeds 250 allowed). Consider refactoring.
Open

# Copyright 2023 Jij Inc.

# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
Severity: Minor
Found in openjij/model/chimera_model.py - About 2 hrs to fix

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

            def __init__(
    Severity: Minor
    Found in openjij/model/chimera_model.py - About 45 mins to fix

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

      def ChimeraModel(
      Severity: Minor
      Found in openjij/model/chimera_model.py - About 45 mins to fix

        Refactor this function to reduce its Cognitive Complexity from 88 to the 15 allowed.
        Open

        def make_ChimeraModel(linear, quadratic):
        Severity: Critical
        Found in openjij/model/chimera_model.py by sonar-python

        Cognitive Complexity is a measure of how hard the control flow of a function is to understand. Functions with high Cognitive Complexity will be difficult to maintain.

        See

        Remove the code after this "raise".
        Open

                            raise ValueError(
                                "Problem graph incompatible with chimera graph.\n" + incomp_part
                            )
        Severity: Major
        Found in openjij/model/chimera_model.py by sonar-python

        Jump statements (return, break, continue, and raise) move control flow out of the current code block. Typically, any statements in a block that come after a jump are simply wasted keystrokes lying in wait to confuse the unwary.

        Noncompliant Code Example

        def fun(a):
          i = 10
          return i + a       # Noncompliant
          i += 1             # this is never executed
        

        Compliant Solution

        def fun(a):
          i = 10
          return i + a
        

        See

        • MISRA C:2004, 14.1 - There shall be no unreachable code
        • MISRA C++:2008, 0-1-1 - A project shall not contain unreachable code
        • MISRA C++:2008, 0-1-9 - There shall be no dead code
        • MISRA C:2012, 2.1 - A project shall not contain unreachable code
        • MISRA C:2012, 2.2 - There shall be no dead code
        • MITRE, CWE-561 - Dead Code
        • CERT, MSC56-J. - Detect and remove superfluous code and values
        • CERT, MSC12-C. - Detect and remove code that has no effect or is never executed
        • CERT, MSC07-CPP. - Detect and remove dead code

        Either merge this branch with the identical one on line "278" or change one of the implementations.
        Open

                            return True
        Severity: Major
        Found in openjij/model/chimera_model.py by sonar-python

        Having two branches in the same if structure with the same implementation is at best duplicate code, and at worst a coding error. If the same logic is truly needed for both instances, then they should be combined.

        Noncompliant Code Example

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_thing()  # Noncompliant; duplicates first condition
        else:
            do_the_rest()
        
        b = 4 if a > 12 else 4
        

        Compliant Solution

        if (0 <= a < 10) or (20 <= a < 50):
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        else:
            do_the_rest()
        
        b = 4
        

        or

        if 0 <= a < 10:
            do_the_thing()
        elif 10 <= a < 20:
            do_the_other_thing()
        elif 20 <= a < 50:
            do_the_third_thing()
        else:
            do_the_rest()
        
        b = 8 if a > 12 else 4
        

        Merge this if statement with the enclosing one.
        Open

                        if len(indices[0]) == len(indices[-1]) == 3:
        Severity: Major
        Found in openjij/model/chimera_model.py by sonar-python

        Merging collapsible if statements increases the code's readability.

        Noncompliant Code Example

        if condition1:
            if condition2:
                # ...
        

        Compliant Solution

        if condition1 and condition2:
            # ...
        

        Continuation line unaligned for hanging indent
        Open

                    vartype=SPIN,
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Continuation line unaligned for hanging indent
        Open

                    model=None,
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Line too long (94 > 79 characters)
        Open

                            # part of left side of a Chimera unit cell (in the column representation).
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Unexpected spaces around keyword / parameter equals
        Open

                        r_i, c_i, zi = self._chimera_index(i, L = chimera_L)
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Don't use spaces around the '=' sign in function arguments.

        Don't use spaces around the '=' sign when used to indicate a
        keyword argument or a default parameter value, except when
        using a type annotation.
        
        Okay: def complex(real, imag=0.0):
        Okay: return magic(r=real, i=imag)
        Okay: boolean(a == b)
        Okay: boolean(a != b)
        Okay: boolean(a <= b)
        Okay: boolean(a >= b)
        Okay: def foo(arg: int = 42):
        Okay: async def foo(arg: int = 42):
        
        E251: def complex(real, imag = 0.0):
        E251: return magic(r = real, i = imag)
        E252: def complex(real, image: float=0.0):

        Unexpected spaces around keyword / parameter equals
        Open

                        r_j, c_j, zj = self._chimera_index(j, L = chimera_L)
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Don't use spaces around the '=' sign in function arguments.

        Don't use spaces around the '=' sign when used to indicate a
        keyword argument or a default parameter value, except when
        using a type annotation.
        
        Okay: def complex(real, imag=0.0):
        Okay: return magic(r=real, i=imag)
        Okay: boolean(a == b)
        Okay: boolean(a != b)
        Okay: boolean(a <= b)
        Okay: boolean(a >= b)
        Okay: def foo(arg: int = 42):
        Okay: async def foo(arg: int = 42):
        
        E251: def complex(real, imag = 0.0):
        E251: return magic(r = real, i = imag)
        E252: def complex(real, image: float=0.0):

        Line too long (137 > 79 characters)
        Open

                            "Input unit_num_L which is the length of the side of the two-dimensional grid where chimera unit cells are arranged."
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Unexpected spaces around keyword / parameter equals
        Open

                        r_i, c_i, zi = self._chimera_index(i, L = chimera_L)
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Don't use spaces around the '=' sign in function arguments.

        Don't use spaces around the '=' sign when used to indicate a
        keyword argument or a default parameter value, except when
        using a type annotation.
        
        Okay: def complex(real, imag=0.0):
        Okay: return magic(r=real, i=imag)
        Okay: boolean(a == b)
        Okay: boolean(a != b)
        Okay: boolean(a <= b)
        Okay: boolean(a >= b)
        Okay: def foo(arg: int = 42):
        Okay: async def foo(arg: int = 42):
        
        E251: def complex(real, imag = 0.0):
        E251: return magic(r = real, i = imag)
        E252: def complex(real, image: float=0.0):

        Line too long (84 > 79 characters)
        Open

                            j if isinstance(j, int) else self._to_index(*j, self.unit_num_L)
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Continuation line unaligned for hanging indent
        Open

                    quadratic=None,
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Line too long (87 > 79 characters)
        Open

                            incomp_part = "The connectable nodes of {} are {}, not {}.".format(
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (80 > 79 characters)
        Open

                        self._chimera_index = lambda i, L: self.chimera_coordinate(i, L)
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Continuation line unaligned for hanging indent
        Open

                    unit_num_L=None,
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Unexpected spaces around keyword / parameter equals
        Open

                        r_j, c_j, zj = self._chimera_index(j, L = chimera_L)
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Don't use spaces around the '=' sign in function arguments.

        Don't use spaces around the '=' sign when used to indicate a
        keyword argument or a default parameter value, except when
        using a type annotation.
        
        Okay: def complex(real, imag=0.0):
        Okay: return magic(r=real, i=imag)
        Okay: boolean(a == b)
        Okay: boolean(a != b)
        Okay: boolean(a <= b)
        Okay: boolean(a >= b)
        Okay: def foo(arg: int = 42):
        Okay: async def foo(arg: int = 42):
        
        E251: def complex(real, imag = 0.0):
        E251: return magic(r = real, i = imag)
        E252: def complex(real, image: float=0.0):

        Blank line contains whitespace
        Open

            
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Trailing whitespace is superfluous.

        The warning returned varies on whether the line itself is blank,
        for easier filtering for those who want to indent their blank lines.
        
        Okay: spam(1)\n#
        W291: spam(1) \n#
        W293: class Foo(object):\n    \n    bang = 12

        Blank line contains whitespace
        Open

                
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Trailing whitespace is superfluous.

        The warning returned varies on whether the line itself is blank,
        for easier filtering for those who want to indent their blank lines.
        
        Okay: spam(1)\n#
        W291: spam(1) \n#
        W293: class Foo(object):\n    \n    bang = 12

        Continuation line unaligned for hanging indent
        Open

                    offset=0.0,
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Unexpected spaces around keyword / parameter equals
        Open

                        r_i, c_i, zi = self._chimera_index(i, L = chimera_L)
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Don't use spaces around the '=' sign in function arguments.

        Don't use spaces around the '=' sign when used to indicate a
        keyword argument or a default parameter value, except when
        using a type annotation.
        
        Okay: def complex(real, imag=0.0):
        Okay: return magic(r=real, i=imag)
        Okay: boolean(a == b)
        Okay: boolean(a != b)
        Okay: boolean(a <= b)
        Okay: boolean(a >= b)
        Okay: def foo(arg: int = 42):
        Okay: async def foo(arg: int = 42):
        
        E251: def complex(real, imag = 0.0):
        E251: return magic(r = real, i = imag)
        E252: def complex(real, image: float=0.0):

        Line too long (95 > 79 characters)
        Open

                            # part of right side of a Chimera unit cell (in the column representation).
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Unexpected spaces around keyword / parameter equals
        Open

                        r_i, c_i, zi = self._chimera_index(i, L = chimera_L)
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Don't use spaces around the '=' sign in function arguments.

        Don't use spaces around the '=' sign when used to indicate a
        keyword argument or a default parameter value, except when
        using a type annotation.
        
        Okay: def complex(real, imag=0.0):
        Okay: return magic(r=real, i=imag)
        Okay: boolean(a == b)
        Okay: boolean(a != b)
        Okay: boolean(a <= b)
        Okay: boolean(a >= b)
        Okay: def foo(arg: int = 42):
        Okay: async def foo(arg: int = 42):
        
        E251: def complex(real, imag = 0.0):
        E251: return magic(r = real, i = imag)
        E252: def complex(real, image: float=0.0):

        Line too long (93 > 79 characters)
        Open

                                    "Problem graph incompatible with chimera graph. Node {}.".format(
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (88 > 79 characters)
        Open

                                "Problem graph incompatible with chimera graph.\n" + incomp_part
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Blank line contains whitespace
        Open

                
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Trailing whitespace is superfluous.

        The warning returned varies on whether the line itself is blank,
        for easier filtering for those who want to indent their blank lines.
        
        Okay: spam(1)\n#
        W291: spam(1) \n#
        W293: class Foo(object):\n    \n    bang = 12

        Line too long (82 > 79 characters)
        Open

                        raise ValueError("Problem graph incompatible with chimera graph.")
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Continuation line unaligned for hanging indent
        Open

                    linear=None,
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Continuation lines indentation.

        Continuation lines should align wrapped elements either vertically
        using Python's implicit line joining inside parentheses, brackets
        and braces, or using a hanging indent.
        
        When using a hanging indent these considerations should be applied:
        - there should be no arguments on the first line, and
        - further indentation should be used to clearly distinguish itself
          as a continuation line.
        
        Okay: a = (\n)
        E123: a = (\n    )
        
        Okay: a = (\n    42)
        E121: a = (\n   42)
        E122: a = (\n42)
        E123: a = (\n    42\n    )
        E124: a = (24,\n     42\n)
        E125: if (\n    b):\n    pass
        E126: a = (\n        42)
        E127: a = (24,\n      42)
        E128: a = (24,\n    42)
        E129: if (a or\n    b):\n    pass
        E131: a = (\n    42\n 24)

        Line too long (95 > 79 characters)
        Open

                model (BinaryQuadraticModel): if model is not None, the object is initialized by model.
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Unexpected spaces around keyword / parameter equals
        Open

                            samples_like, sparse = True, convert_sample = convert_sample
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Don't use spaces around the '=' sign in function arguments.

        Don't use spaces around the '=' sign when used to indicate a
        keyword argument or a default parameter value, except when
        using a type annotation.
        
        Okay: def complex(real, imag=0.0):
        Okay: return magic(r=real, i=imag)
        Okay: boolean(a == b)
        Okay: boolean(a != b)
        Okay: boolean(a <= b)
        Okay: boolean(a >= b)
        Okay: def foo(arg: int = 42):
        Okay: async def foo(arg: int = 42):
        
        E251: def complex(real, imag = 0.0):
        E251: return magic(r = real, i = imag)
        E252: def complex(real, image: float=0.0):

        Unexpected spaces around keyword / parameter equals
        Open

                model = None,
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Don't use spaces around the '=' sign in function arguments.

        Don't use spaces around the '=' sign when used to indicate a
        keyword argument or a default parameter value, except when
        using a type annotation.
        
        Okay: def complex(real, imag=0.0):
        Okay: return magic(r=real, i=imag)
        Okay: boolean(a == b)
        Okay: boolean(a != b)
        Okay: boolean(a <= b)
        Okay: boolean(a >= b)
        Okay: def foo(arg: int = 42):
        Okay: async def foo(arg: int = 42):
        
        E251: def complex(real, imag = 0.0):
        E251: return magic(r = real, i = imag)
        E252: def complex(real, image: float=0.0):

        Line too long (90 > 79 characters)
        Open

                                    "Problem graph incompatible with chimera graph.\n" + error_msg
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Unexpected spaces around keyword / parameter equals
        Open

                            samples_like, sparse = True, convert_sample = convert_sample
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Don't use spaces around the '=' sign in function arguments.

        Don't use spaces around the '=' sign when used to indicate a
        keyword argument or a default parameter value, except when
        using a type annotation.
        
        Okay: def complex(real, imag=0.0):
        Okay: return magic(r=real, i=imag)
        Okay: boolean(a == b)
        Okay: boolean(a != b)
        Okay: boolean(a <= b)
        Okay: boolean(a >= b)
        Okay: def foo(arg: int = 42):
        Okay: async def foo(arg: int = 42):
        
        E251: def complex(real, imag = 0.0):
        E251: return magic(r = real, i = imag)
        E252: def complex(real, image: float=0.0):

        Unexpected spaces around keyword / parameter equals
        Open

                model = None,
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Don't use spaces around the '=' sign in function arguments.

        Don't use spaces around the '=' sign when used to indicate a
        keyword argument or a default parameter value, except when
        using a type annotation.
        
        Okay: def complex(real, imag=0.0):
        Okay: return magic(r=real, i=imag)
        Okay: boolean(a == b)
        Okay: boolean(a != b)
        Okay: boolean(a <= b)
        Okay: boolean(a >= b)
        Okay: def foo(arg: int = 42):
        Okay: async def foo(arg: int = 42):
        
        E251: def complex(real, imag = 0.0):
        E251: return magic(r = real, i = imag)
        E252: def complex(real, image: float=0.0):

        Line too long (80 > 79 characters)
        Open

                            samples_like, sparse = True, convert_sample = convert_sample
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Blank line contains whitespace
        Open

            
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Trailing whitespace is superfluous.

        The warning returned varies on whether the line itself is blank,
        for easier filtering for those who want to indent their blank lines.
        
        Okay: spam(1)\n#
        W291: spam(1) \n#
        W293: class Foo(object):\n    \n    bang = 12

        Line too long (80 > 79 characters)
        Open

                                chimera[r_i, c_i, zi, cj.graph.ChimeraDir.IN_0or4] = Jij
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (80 > 79 characters)
        Open

                                chimera[r_i, c_i, zi, cj.graph.ChimeraDir.IN_3or7] = Jij
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (85 > 79 characters)
        Open

                        error_msg += f"there is no connection between node {i} and node {j}."
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (85 > 79 characters)
        Open

                    return super().energy(sample, sparse=True, convert_sample=convert_sample)
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (86 > 79 characters)
        Open

                    elif (c1 == c2 and abs(r1 - r2) == 1) or (r1 == r2 and abs(c1 - c2) == 1):
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (85 > 79 characters)
        Open

                                and self._validate((r_i, c_i, zi), (r_j, c_j, zj), chimera_L)
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (103 > 79 characters)
        Open

                        convert_sample: if true, the type of sample is automatically converted to self.vartype.
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (82 > 79 characters)
        Open

                        two_d_bool = (i[0] < self.unit_num_L) and (i[1] < self.unit_num_L)
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Unexpected spaces around keyword / parameter equals
        Open

                vartype = SPIN,
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Don't use spaces around the '=' sign in function arguments.

        Don't use spaces around the '=' sign when used to indicate a
        keyword argument or a default parameter value, except when
        using a type annotation.
        
        Okay: def complex(real, imag=0.0):
        Okay: return magic(r=real, i=imag)
        Okay: boolean(a == b)
        Okay: boolean(a != b)
        Okay: boolean(a <= b)
        Okay: boolean(a >= b)
        Okay: def foo(arg: int = 42):
        Okay: async def foo(arg: int = 42):
        
        E251: def complex(real, imag = 0.0):
        E251: return magic(r = real, i = imag)
        E252: def complex(real, image: float=0.0):

        Unexpected spaces around keyword / parameter equals
        Open

                            samples_like, sparse = True, convert_sample = convert_sample
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Don't use spaces around the '=' sign in function arguments.

        Don't use spaces around the '=' sign when used to indicate a
        keyword argument or a default parameter value, except when
        using a type annotation.
        
        Okay: def complex(real, imag=0.0):
        Okay: return magic(r=real, i=imag)
        Okay: boolean(a == b)
        Okay: boolean(a != b)
        Okay: boolean(a <= b)
        Okay: boolean(a >= b)
        Okay: def foo(arg: int = 42):
        Okay: async def foo(arg: int = 42):
        
        E251: def complex(real, imag = 0.0):
        E251: return magic(r = real, i = imag)
        E252: def complex(real, image: float=0.0):

        Line too long (80 > 79 characters)
        Open

                                chimera[r_i, c_i, zi, cj.graph.ChimeraDir.IN_1or5] = Jij
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Line too long (80 > 79 characters)
        Open

                                chimera[r_i, c_i, zi, cj.graph.ChimeraDir.IN_2or6] = Jij
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Limit all lines to a maximum of 79 characters.

        There are still many devices around that are limited to 80 character
        lines; plus, limiting windows to 80 characters makes it possible to
        have several windows side-by-side.  The default wrapping on such
        devices looks ugly.  Therefore, please limit all lines to a maximum
        of 79 characters. For flowing long blocks of text (docstrings or
        comments), limiting the length to 72 characters is recommended.
        
        Reports error E501.

        Unexpected spaces around keyword / parameter equals
        Open

                            samples_like, sparse = True, convert_sample = convert_sample
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Don't use spaces around the '=' sign in function arguments.

        Don't use spaces around the '=' sign when used to indicate a
        keyword argument or a default parameter value, except when
        using a type annotation.
        
        Okay: def complex(real, imag=0.0):
        Okay: return magic(r=real, i=imag)
        Okay: boolean(a == b)
        Okay: boolean(a != b)
        Okay: boolean(a <= b)
        Okay: boolean(a >= b)
        Okay: def foo(arg: int = 42):
        Okay: async def foo(arg: int = 42):
        
        E251: def complex(real, imag = 0.0):
        E251: return magic(r = real, i = imag)
        E252: def complex(real, image: float=0.0):

        Unexpected spaces around keyword / parameter equals
        Open

                vartype = SPIN,
        Severity: Minor
        Found in openjij/model/chimera_model.py by pep8

        Don't use spaces around the '=' sign in function arguments.

        Don't use spaces around the '=' sign when used to indicate a
        keyword argument or a default parameter value, except when
        using a type annotation.
        
        Okay: def complex(real, imag=0.0):
        Okay: return magic(r=real, i=imag)
        Okay: boolean(a == b)
        Okay: boolean(a != b)
        Okay: boolean(a <= b)
        Okay: boolean(a >= b)
        Okay: def foo(arg: int = 42):
        Okay: async def foo(arg: int = 42):
        
        E251: def complex(real, imag = 0.0):
        E251: return magic(r = real, i = imag)
        E252: def complex(real, image: float=0.0):

        Rename function "ChimeraModel" to match the regular expression ^[a-z_][a-z0-9_]{2,}$.
        Open

        def ChimeraModel(
        Severity: Major
        Found in openjij/model/chimera_model.py by sonar-python

        Shared coding conventions allow teams to collaborate efficiently. This rule checks that all function names match a provided regular expression.

        Noncompliant Code Example

        With the default provided regular expression: ^[a-z_][a-z0-9_]{2,30}$

        def MyFunction(a,b):
            ...
        

        Compliant Solution

        def my_function(a,b):
            ...
        

        Rename function "make_ChimeraModel" to match the regular expression ^[a-z_][a-z0-9_]{2,}$.
        Open

        def make_ChimeraModel(linear, quadratic):
        Severity: Major
        Found in openjij/model/chimera_model.py by sonar-python

        Shared coding conventions allow teams to collaborate efficiently. This rule checks that all function names match a provided regular expression.

        Noncompliant Code Example

        With the default provided regular expression: ^[a-z_][a-z0-9_]{2,30}$

        def MyFunction(a,b):
            ...
        

        Compliant Solution

        def my_function(a,b):
            ...
        

        Rename function "make_ChimeraModel_from_JSON" to match the regular expression ^[a-z_][a-z0-9_]{2,}$.
        Open

        def make_ChimeraModel_from_JSON(obj):
        Severity: Major
        Found in openjij/model/chimera_model.py by sonar-python

        Shared coding conventions allow teams to collaborate efficiently. This rule checks that all function names match a provided regular expression.

        Noncompliant Code Example

        With the default provided regular expression: ^[a-z_][a-z0-9_]{2,30}$

        def MyFunction(a,b):
            ...
        

        Compliant Solution

        def my_function(a,b):
            ...
        

        There are no issues that match your filters.

        Category
        Status