hackedteam/vector-edk

View on GitHub
vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.py

Summary

Maintainability
F
1 mo
Test Coverage

Function refactor_tree has a Cognitive Complexity of 72 (exceeds 5 allowed). Consider refactoring.
Open

    def refactor_tree(self, tree, name):
        """Refactors a parse tree (modifying the tree in place).

        For compatible patterns the bottom matcher module is
        used. Otherwise the tree is traversed node-to-node for
Severity: Minor
Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.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 refactor.py has 603 lines of code (exceeds 250 allowed). Consider refactoring.
Open

# Copyright 2006 Google, Inc. All Rights Reserved.
# Licensed to PSF under a Contributor Agreement.

"""Refactoring framework.
Severity: Major
Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.py - About 1 day to fix

    Function _detect_future_features has a Cognitive Complexity of 30 (exceeds 5 allowed). Consider refactoring.
    Open

    def _detect_future_features(source):
        have_docstring = False
        gen = tokenize.generate_tokens(StringIO.StringIO(source).readline)
        def advance():
            tok = gen.next()
    Severity: Minor
    Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.py - About 4 hrs 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

    RefactoringTool has 22 functions (exceeds 20 allowed). Consider refactoring.
    Open

    class RefactoringTool(object):
    
        _default_options = {"print_function" : False}
    
        CLASS_PREFIX = "Fix" # The prefix for fixer classes
    Severity: Minor
    Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.py - About 2 hrs to fix

      Function _get_headnode_dict has a Cognitive Complexity of 16 (exceeds 5 allowed). Consider refactoring.
      Open

      def _get_headnode_dict(fixer_list):
          """ Accepts a list of fixers and returns a dictionary
              of head node type --> fixer list.  """
          head_nodes = collections.defaultdict(list)
          every = []
      Severity: Minor
      Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.py - About 2 hrs 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 summarize has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
      Open

          def summarize(self):
              if self.wrote:
                  were = "were"
              else:
                  were = "need to be"
      Severity: Minor
      Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.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

      Function refactor_docstring has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
      Open

          def refactor_docstring(self, input, filename):
              """Refactors a docstring, looking for doctests.
      
              This returns a modified version of the input string.  It looks
              for doctests, which start with a ">>>" prompt, and may be
      Severity: Minor
      Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.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

      Function _get_head_types has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
      Open

      def _get_head_types(pat):
          """ Accepts a pytree Pattern Node and returns a set
              of the pattern types which will match first. """
      
          if isinstance(pat, (pytree.NodePattern, pytree.LeafPattern)):
      Severity: Minor
      Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.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

      Function get_fixers has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
      Open

          def get_fixers(self):
              """Inspects the options to load the requested patterns and handlers.
      
              Returns:
                (pre_order, post_order), where pre_order is the list of fixers that
      Severity: Minor
      Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.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

      Function traverse_by has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
      Open

          def traverse_by(self, fixers, traversal):
              """Traverse an AST, applying a set of fixers to each node.
      
              This is a helper method for refactor_tree().
      
      Severity: Minor
      Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.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

      Function refactor_doctest has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
      Open

          def refactor_doctest(self, block, lineno, indent, filename):
              """Refactors one doctest.
      
              A doctest is given as a block of lines, the first of which starts
              with ">>>" (possibly indented), while the remaining lines start
      Severity: Minor
      Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.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

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

          def refactor_file(self, filename, write=False, doctests_only=False):
              """Refactors a file."""
              input, encoding = self._read_python_source(filename)
              if input is None:
                  # Reading the file failed.
      Severity: Minor
      Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.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

      Avoid deeply nested control flow statements.
      Open

                              if node in match_set[fixer]:
                                  match_set[fixer].remove(node)
      
      Severity: Major
      Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.py - About 45 mins to fix

        Avoid deeply nested control flow statements.
        Open

                                if node.fixers_applied and fixer in node.fixers_applied:
                                    # do not apply the same fixer again
                                    continue
        
        Severity: Major
        Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.py - About 45 mins to fix

          Function refactor has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
          Open

              def refactor(self, items, write=False, doctests_only=False,
                           num_processes=1):
                  if num_processes == 1:
                      return super(MultiprocessRefactoringTool, self).refactor(
                          items, write, doctests_only)
          Severity: Minor
          Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.py - About 45 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

          Avoid deeply nested control flow statements.
          Open

                                  if results:
                                      new = fixer.transform(node, results)
                                      if new is not None:
                                          node.replace(new)
                                          #new.fixers_applied.append(fixer)
          Severity: Major
          Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.py - About 45 mins to fix

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

                def __init__(self, fixer_names, options=None, explicit=None):
                    """Initializer.
            
                    Args:
                        fixer_names: a list of fixers to import
            Severity: Minor
            Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.py - About 45 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 refactor_stdin has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
            Open

                def refactor_stdin(self, doctests_only=False):
                    input = sys.stdin.read()
                    if doctests_only:
                        self.log_debug("Refactoring doctests in stdin")
                        output = self.refactor_docstring(input, "<stdin>")
            Severity: Minor
            Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.py - About 45 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 processed_file has 5 arguments (exceeds 4 allowed). Consider refactoring.
            Open

                def processed_file(self, new_text, filename, old_text=None, write=False,
            Severity: Minor
            Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.py - About 35 mins to fix

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

              def get_all_fix_names(fixer_pkg, remove_prefix=True):
                  """Return a sorted list of all available fix names in the given package."""
                  pkg = __import__(fixer_pkg, [], [], ["*"])
                  fixer_dir = os.path.dirname(pkg.__file__)
                  fix_names = []
              Severity: Minor
              Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.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 refactor_dir has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
              Open

                  def refactor_dir(self, dir_name, write=False, doctests_only=False):
                      """Descends down a directory and refactor every Python file found.
              
                      Python files are assumed to have a .py extension.
              
              Severity: Minor
              Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.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 processed_file has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
              Open

                  def processed_file(self, new_text, filename, old_text=None, write=False,
                                     encoding=None):
                      """
                      Called when a file has been refactored, and there are changes.
                      """
              Severity: Minor
              Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.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 gen_lines has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
              Open

                  def gen_lines(self, block, indent):
                      """Generates lines as expected by tokenize from a list of lines.
              
                      This strips the first len(indent + self.PS1) characters off each line.
                      """
              Severity: Minor
              Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.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

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

              Severity: Major
              Found in vector-uefi/fd/efi/StdLib/lib/python.27/lib2to3/refactor.py and 1 other location - About 1 mo to fix
              AppPkg/Applications/Python/Python-2.7.2/Lib/lib2to3/refactor.py on lines 0..740

              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 4654.

              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